Windowsディレクトリを取得する |
Windowsディレクトリのパス名を取得する (008) | |
Option Explicit 'SampleNo=008 WindowsXP VB6.0(SP5) 2002.04.17 ' Windowsディレクトリのパス名を取得する(P925) Private Declare Function GetWindowsDirectory Lib "kernel32" _ Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Private Const MAX_PATH As Long = 260 'Windowsのシステムディレクトリのパス名を取得する(P918) Private Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Private Sub Command1_Click() Dim strWinDirBuf As String * MAX_PATH Dim lngWinDirLen As Long 'Windows ディレクトリのパス名を取得 lngWinDirLen = GetWindowsDirectory(strWinDirBuf, Len(strWinDirBuf)) 'Windows ディレクトリのパス名を表示 Label1.Caption = Left$(strWinDirBuf, InStr(strWinDirBuf, vbNullChar) - 1) 'Windows ディレクトリのパス名の長さを表示 Label2.Caption = lngWinDirLen End Sub Windows\Systemディレクトリのパス名を取得する Private Sub Command2_Click() Dim strSysDirBuf As String * MAX_PATH Dim lngSysDirLen As Long 'System ディレクトリのパス名を取得 lngSysDirLen = GetSystemDirectory(strSysDirBuf, Len(strSysDirBuf)) 'System ディレクトリのパス名を表示 Label1.Caption = Left$(strSysDirBuf, InStr(strSysDirBuf, vbNullChar) - 1) 'System ディレクトリのパス名の長さを表示 Label2.Caption = lngSysDirLen End Sub |
|
Environ関数で環境変数の値を取得する | |
Windowsディレクトリのパス名だけならVBだけの機能で取得できる Private Sub Command3_Click() 'VBの機能でWindows ディレクトリのパス名を取得 Label1.Caption = Environ$("WINDIR") 'Windows ディレクトリのパス名の長さを表示 Label2.Caption = Len(Environ$("WINDIR")) End Sub その他の環境変数の値 Private Sub Command4_Click() Dim i As Long For i = 1 To 40 Debug.Print i, Environ(i) Next i End Sub 結果 1 ALLUSER=2 2 ALLUSERSPROFILE=C:\Documents and Settings\All Users 3 APPDATA=C:\Documents and Settings\ypcs_NO1\Application Data 4 CLIENTNAME=Console 5 CommonProgramFiles=C:\Program Files\Common Files 6 COMPUTERNAME=ypcs_NO4 7 ComSpec=C:\WINDOWS\system32\cmd.exe 8 HOMEDRIVE=C: 9 HOMEPATH=\Documents and Settings\ypcs_NO1 10 LOGONSERVER=\\ypcs_NO4 11 NUMBER_OF_PROCESSORS=1 12 OS=Windows_NT 13 Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem 14 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH 15 PROCESSOR_ARCHITECTURE=x86 16 PROCESSOR_IDENTIFIER=x86 Family 6 Model 7 Stepping 0, AuthenticAMD 17 PROCESSOR_LEVEL=6 18 PROCESSOR_REVISION=0700 19 ProgramFiles=C:\Program Files 20 SESSIONNAME=Console 21 SystemDrive=C: 22 SystemRoot=C:\WINDOWS 23 TEMP=C:\DOCUME~1\ypcs_NO1\LOCALS~1\Temp 24 TMP=C:\DOCUME~1\ypcs_NO1\LOCALS~1\Temp 25 USERDOMAIN=ypcs_NO4 26 USERNAME=ypcs_NO1 27 USERPROFILE=C:\Documents and Settings\ypcs_NO1 28 windir=C:\WINDOWS 下記のようにも使用できます。 Debug.Print Environ("TMP") C:\DOCUME~1\ypcs_NO1\LOCALS~1\Temp |
2003/04/27