Szybkie szukanie
Słowo kluczowe:
sobota, 11 luty 2012
Start arrow Tips & Tricks arrow Jak okreslić katalog systemowy windows?
Jak okreslić katalog systemowy windows? Drukuj E-mail
Napisał Administrator   
poniedziałek, 12 wrzesień 2005
Wyt?umaczenie funkcji zwracaj?cej folder windows jest bardzo proste.
Prawid?owa funkcja ma posta? :

Declare Function GetWindowsDirectory Lib "Kernel32.dll" Alias "GetWindowsDirectoryA" (ByVal
lpBuffer As String, ByVal nSize As Long) As Long

Function Win32Fld() As String
Dim WinPath As String
Dim tmp As Long

'Zapisanie 255 * znak pusty do
WinPath = String(255, Chr(0))
'Pobranie d?ugo?ci znaków scie?ki Win95
tmp = GetWindowsDirectory(WinPath, 255)
'W?a?ciwa ?cie?ka Win95
Win32Fld = Left(WinPath, tmp)
End Function

Ca?a zawi?o?? polega na tym, ?e Windows poprzez API wykorzystuje ?a?cuchy zako?czone
znakiem pustym
(null terminated strings), a cechy VB nie s? od razu z nimi kompatybilne.
A cechy ze znakiem pustym to takie, które maj okre?lon? d?ugo?? , a na ich ko?cu znajduje si
znak pusty Chr(0) (nie spacja).
I dlatego zmienna WinPath musi mie? najpierw ustalon? d?ugo?? - 255 (max d? ugo?? ?cie?ki w
Win95). Zostaje ona wype?niona
znakami pustymi. Funkcja GetWindowsDirectory zwraca pozycj? za ostatnim znakiem w
?cie?ce. I na koniec z ca?ej
?cie?ki WinPath zostaj wyci?ta tylko prawid?owa jej cz??? , w przeciwnym razie ?cie?ka
wygl?da?a by tak: "C:\Windows#0#0#0#0...".

Komentarze

Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.

Powered by AkoComment 2.0!

< Poprzedni   Następny >

Menu główne
Start
Teoria
VB.NET
Api
Tips & Tricks
Warsztat
VBMagazine
Pliki
Forum
Literatura
Ankiety
Linki
Szukaj
Wyślij program
Napisz do nas
Redakcja
Logowanie
Login

Hasło

Zapamiętaj mnie
Nie pamiętasz hasła?
Nie masz konta? Załóż je sobie
Gościmy
Aktualnie jest 29 gości online
Statystyka
Użytkownicy: 11345
Newsy: 237
Odnośniki: 48
Odwiedzających: 4327501
Mambo is Free Software released under the GNU/GPL License.