Hoe detecteer ik de windows directory. Mensen kunnen windows op c:\windows geinstalleerd hebben, maar ook op c:\windows98 of e:\windows... Ik moet dus de dir hebben van de windows sessie die draait. Iemand enig idee?
Dat moet je doen via een API functie.
Zoek bijvoorbeeld eens naar getWindowsDirectory in de MSDN library.
Zoek bijvoorbeeld eens naar getWindowsDirectory in de MSDN library.
It’s nice to be important but it’s more important to be nice
Verwijderd
Je moet het register benaderen.
In HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
zit de sleutel WINDIR en dat is de windows directory.
Er zijn een heleboel sites die je helpen bij het benaderen
van het register, maar aangezien ik me toch verveel zal ik
ook ff zoeken voor je
In HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
zit de sleutel WINDIR en dat is de windows directory.
Er zijn een heleboel sites die je helpen bij het benaderen
van het register, maar aangezien ik me toch verveel zal ik
ook ff zoeken voor je
windowsdir = getwindowsdirectoryOp zaterdag 23 februari 2002 11:10 schreef JonkieXL het volgende:
Dat moet je doen via een API functie.
Zoek bijvoorbeeld eens naar getWindowsDirectory in de MSDN library.
Compile error: variable not defined.
Ik denk dat ik hier wat té newbie voor ben
Verwijderd
Gevonden!
Kijk hier maar, hier heb ik mn MSN virusscanner op
gebaseerd, dus het werkt wel, alleen het is ff puzzelen
VB Register Class
Kijk hier maar, hier heb ik mn MSN virusscanner op
gebaseerd, dus het werkt wel, alleen het is ff puzzelen
VB Register Class
Oke daar had ik geen rekening mee gehouden.Op zaterdag 23 februari 2002 11:16 schreef CyberKnutselaar het volgende:
[..]
windowsdir = getwindowsdirectory
Compile error: variable not defined.
Ik denk dat ik hier wat té newbie voor benleg uit!
Je moet een zogenaamde Windows API functie gebruiken.
Dat zijn functies die niet standaard in VB beschikbaar zijn, maar die zich in DLL's bevinden.
Om zo'n functie te kunnen gebruiken moet je die eerst declareren.
Ik heb zelf wel zo'n VB routine die ik hier zo zou kunnen posten, maar daar leer je niet echt veel van denk ik.
Misschien handig om dit eerst eens door te lezen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbcondeclaringdllprocedure.asp
Qua de andere reacties:
Een API gebruiken is hier veiliger dan iets uit de registry hacken.
Je weet nooit zeker of in alle Windows versies de Windows directory in dezelfde key staat
It’s nice to be important but it’s more important to be nice
Verwijderd
Dit is super simpel, het enige wat je moet doen is dieOp zaterdag 23 februari 2002 11:21 schreef CyberKnutselaar het volgende:
Dit moet toch veel makkelijker kunnen lijkt mij?
class of die module, wat het ook was, gewoon ff copy/pasten
in je eigen VB module.
En dan hoef je in je hoofdproggie alleen nog maar hele
simpele codes neer te droppen, die je heel makkelijk
kunt uitlezen uit die register-module.
Ik zal m ff lezen en de code geven die je nodig hebt
Hier heb je nog een link:
http://www.vb-world.net/api/winapi2/index4.html
Hier staat die routine en als je dit door leest snap je het allemaal misschien wat beter
http://www.vb-world.net/api/winapi2/index4.html
Hier staat die routine en als je dit door leest snap je het allemaal misschien wat beter
It’s nice to be important but it’s more important to be nice
Verwijderd
Nou code is niet meer nodig, hier lukt het ook wel meeOp zaterdag 23 februari 2002 11:29 schreef JonkieXL het volgende:
Hier heb je nog een link:
http://www.vb-world.net/api/winapi2/index4.html
Hier staat die routine en als je dit door leest snap je het allemaal misschien wat beter
geen van alles werkt. Met VB kan ik niet 'zomaar' in het register rondsnuffelen (maar alleen op een plek die daarvoor gereserveerd is), en met die andere functie krijg ik een cijfer terug (19 of 20). Een beetje vaag dus! Iemand nog suggesties?
Verwijderd
Als het hiermee niet werkt weet ik het niet meer
Kijk voortaan wel eerst ff in Google / MSDN / www.pscode.com want daar had ik het in 2 secondes....
Dat cijfer is de lengte van string die is geschreven in de string die je meegaf, die kan je dus gebruiken om 'm te trimmen
.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| '**************************************
'Windows API/Global Declarations for :Ge
' t Windows Directory
'**************************************
'Put in a Module
Declare Function GetWindowsDirectory Lib "kernel32" _
Alias "GetWindowsDirectoryA" _
(ByVal lpBuffer As String, ByVal nSize As Long) _
As Long
'En dan roep je dit in je programma aan
Function GetWD() As String
Dim Result
Dim WindowsDirectory As String
WindowsDirectory = Space(144)
Result = GetWindowsDirectory(WindowsDirectory, 144)
WindowsDirectory = Trim(WindowsDirectory)
GetWD = WindowsDirectory
End Function |
Dat cijfer is de lengte van string die is geschreven in de string die je meegaf, die kan je dus gebruiken om 'm te trimmen
Die Windows-directory zit ook in een environment variable volgens mij.
https://fgheysels.github.io/
Environ$("WINDIR") als ik het ff uit m'n hoofd zeg, maar om achter dat "WINDIR" te komen (en de andere environment variabelen) is niet zo heel spannend....Op zaterdag 23 februari 2002 12:09 schreef whoami het volgende:
Die Windows-directory zit ook in een environment variable volgens mij.
Exact expert nodig?
Op verzoek (http://gathering.tweakers.net/forum/list_messages/420190/1) ga ik verder in dit topic met al m'n vragen over VB(A)...
Dus: hoe tel ik het aantal pagina's in een Word document? En is er ook een manier om, tijdens het printen, bij te houden hoeveel pagina's er al in de queue (schrijf ik het zo goed?) staan van het totaal?Euj iedereen,
Volgende vraag van vandaag! Hoe kan ik vanuit VB het aantal pagina's in een Worddocument tellen? Ik kan het niet vinden in MSDN (ook niet op pscode.com!)
Cyberknutselaar, with all due respect, maar uw vraag past hier niet hoor.
https://fgheysels.github.io/
Pagina: 1