Toon posts:

[vb] Windows directory detecteren???

Pagina: 1
Acties:

Verwijderd

Topicstarter
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?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Dat moet je doen via een API functie.
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

Verwijderd

Topicstarter
Op 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.
windowsdir = getwindowsdirectory

Compile error: variable not defined.

Ik denk dat ik hier wat té newbie voor ben ;) leg uit!

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

Verwijderd

Topicstarter
Dit moet toch veel makkelijker kunnen lijkt mij?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
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 ben ;) leg uit!
Oke daar had ik geen rekening mee gehouden.
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

Topicstarter
Gooi toch maar zo'n routine neer, als het kan. Daar kan ik over nadenken ;)

Verwijderd

Op zaterdag 23 februari 2002 11:21 schreef CyberKnutselaar het volgende:
Dit moet toch veel makkelijker kunnen lijkt mij?
Dit is super simpel, het enige wat je moet doen is die
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

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
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 :)

It’s nice to be important but it’s more important to be nice


Verwijderd

Op 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 :)
Nou code is niet meer nodig, hier lukt het ook wel mee

Verwijderd

Topicstarter
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....
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 :).

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:53
Die Windows-directory zit ook in een environment variable volgens mij.

https://fgheysels.github.io/


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17:24

Crazy D

I think we should take a look.

Op zaterdag 23 februari 2002 12:09 schreef whoami het volgende:
Die Windows-directory zit ook in een environment variable volgens mij.
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....

Exact expert nodig?


Verwijderd

Topicstarter
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)...
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!)
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?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:53
Cyberknutselaar, with all due respect, maar uw vraag past hier niet hoor.

https://fgheysels.github.io/

Pagina: 1