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.
Environ$("systemroot") muistaakseni.
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.
Kiitokset nopeista vastauksista.
Aihe on jo aika vanha, joten et voi enää vastata siihen.