2012-01-07 14 views
2

オペレーティングシステムがインストールされているドライブをVB6でどのように検出できますか?オペレーティングシステムドライブの検索方法

Private Sub GetSystemDrive() 
    ' What to write here? 
End Sub 
+2

にアクセスするよりも? また、なぜそれが必要ですか? Windowsディレクトリなどのシステムフォルダにアクセスするには、%windir%などを使用できます。 – darnir

答えて

3

はあなたがOSがインストールされているドライブを見つけたい意味するか、わずかに、より信頼性の高い環境

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

Private Function GetSystemDrive() As String 
    GetSystemDrive = Space(1000) 
    Call GetWindowsDirectory(GetSystemDrive, Len(GetSystemDrive)) 
    GetSystemDrive = Left$(GetSystemDrive, 2) 
End Function 

Private Sub Form_Load() 
    Debug.Print GetSystemDrive 
End Sub 
+0

ありがとう、私の親愛なる...それは非常に非常にうまくいった。神のお恵みがありますように。 – Dev

4

簡単な方法は、環境変数%SystemDrive%を使用することです。環境変数には、Environを使用してアクセスできます。 Environ("SystemDrive")

あなたがWin9x OSを使用している場合、%WinDir%を使用してドライブ部分を抽出するだけです。 Left(Environ("WinDir"), 2)。 API呼び出しを使用して

+1

+1このメソッドは、API呼び出しよりもはるかに面倒であり、環境変数を使用している人がいない限りOKです。 。さらに、windowsコマンドプロンプトに "Set"と入力すると、照会できるすべての環境変数のリストが表示されます。 –

+0

FYI、 '%SystemDrive%'はWindows NTの派生商品でのみ利用可能です。 – wqw

+0

Win9xの私の答えが更新されました。 – bobbymcr

関連する問題