system-variabler

Tags:    visual-basic

User
Bruger #368 @ 06.01.02 15:29
Hvordan finder jeg en pc's windows-mappe og Programmer-mappe?

mvh Magnus Boye



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
<quote>Den sikreste måde at finde Windows-mappen på er med et API-kald...</quote>

Den gode <b>tjacob</b> har fuldstændig ret med hensyn til <i>Windows</i> mappen. Bemærk dog, at det er et lignende kald, der bare hedder <b>GetSystemDirectory</b>. For en god ordens skyld, kommer begge her:

************************************

<b>Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long</b>

...og system mappen:

<b>Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long</b>

************************************

Med hensyn til at finde <b>Programmer</b> mappen (der i teorien godt kunne hedde <b>snus</b> eller <b>Julemand</b> for den sags skyld), så må du den tunge vej ind i registeringsdatabasen.

Du finder den rigtige mappe ved at kigge under

<b>HKEY_LOCAL_MACHINE\\software\\microsoft\\windows\\currentversion</b>

Derinde finder du en <i>key</i> (eller <i>nøgle</i>;), der kaldes <b>ProgramFilesDir</b>. Denne nøgle indeholder navnet på dit "Program Files", "Programmer", "snus", "Julemand", eller hvad det nu hedder.




<quote>Hvordan finder jeg en pc's windows-mappe og Programmer-mappe?

mvh Magnus Boye</quote>

Jeg mener, at windows-mappen hedder:

%SystemRoot%\\[bibliotek navn] fx %SystemRoot%\\System eller %SystemRoot%\\System32

Jeg er ikke sikker - men prøv.

<b>•] Mikl [•

<a href="mailto:mikl@mikl.dk">mikl@mikl.dk</a>
http://www.mikl.dk</b



User
Bruger #746 @ 10.01.02 15:19
Den sikreste måde at finde Windows-mappen på er med et API-kald:

Indsæt følgende i et modul eller en form:
Declare Function GetWindowsDirectory Lib "kernel32" Alias _
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal _
nSize As Long) As Long

Kode:

Public Function GetWinPath()
Dim strFolder As String
Dim lngResult As Long
strFolder = String(MAX_PATH, 0)
lngResult = GetWindowsDirectory(strFolder, MAX_PATH)
If lngResult <> 0 Then
GetWinPath = Left(strFolder, InStr(strFolder, _
Chr(0)) - 1)
Else
GetWinPath = ""
End If
End Function

Brug:

Hvorsomhelst kan du nu kalde funktionen f.eks. i en knap:

Dim a

a=GetWinPath


MHT til Programmer er der ingen sikker måde, da en bruger jo kan have slettet denne mappe.
Men du kan f.eks. bruge FileSystemObject, og så søge efter mappen.


MVH tjacob



t