Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Systemroot (VB5)

setä [09.08.2006 23:13:54]

#

Kuinka VB:llä voi selvittää Systemrootin kuten systeemimuuttujalla %systemroot% komentokehotteessa. Tarkoitus tutkia, löytyykö System32-kansiosta tietty tiedosto ja ellei niin tunkea se sinne. Mitään asennuspakettia ei viitsisi tehdä vaan pieneen latausohjelmaan lisätä tällainen ominaisuus.

sooda [09.08.2006 23:17:04]

#

Environ$("systemroot") muistaakseni.

Antti Laaksonen [09.08.2006 23:43:06]

#

Toinen tapa on käyttää WinAPIn funktioita:

Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Function SysteemiHakemisto() As String
    Dim syshak As String * 260
    Dim pituus As Integer
    pituus = GetSystemDirectory(syshak, 260)
    SysteemiHakemisto = Left(syshak, pituus)
End Function

Function WindowsHakemisto() As String
    Dim winhak As String * 260
    Dim pituus As Integer
    pituus = GetWindowsDirectory(winhak, 260)
    WindowsHakemisto = Left(winhak, pituus)
End Function

Private Sub Form_Load()
    MsgBox SysteemiHakemisto
    MsgBox WindowsHakemisto
End Sub

Minulla %systemroot% oli pelkkä C:\WINDOWS, mutta WinAPIn funktio kertoi oikean systeemihakemiston. DLL-tiedostoja voikin varmaan laittaa kumpaan tahansa. Enemmistö näytti olevan kuitenkin minun koneellani systeemihakemistossa.

setä [10.08.2006 00:41:44]

#

Kiitokset nopeista vastauksista.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta