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 SubMinulla %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.