システムに関する各種情報を取得する
システムに関する各種情報を取得するサンプルです。
サンプルの実行画面
ソースコード
[Get.frm]
'GetComputerName =>コンピューター名を取得する '<引数> 'lpBuffer: コンピュータ名を格納する変数 'nSize: コンピュータ名の文字数 '@戻り値@ ' 正常終了0以外 Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long 'GetClassName =>ウインドウのクラス名を取得する '<引数> 'hwnd: ウインドウのハンドル 'lpClassName: クラス名を格納する変数の 'nMaxCount: 同、文字数 '@戻り値@ ' 正常終了0以外 Private Declare Function GetClassName Lib "USER32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long 'GetCurrentDirectory =>カレントディレクトリを取得 '<引数> 'nBufferLength: 文字数 'lpBuffer: カレントディレクトリを格納する変数 '@戻り値@ '正常終了0以外 Private Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long 'GetKeyboardType =>ファンクションキーの数を取得する '<引数> 'nTypeFlag: 2の場合 ファンクションキー数 0の場合 キーボードのタイプ '@戻り値@ ' 数値が戻る Private Declare Function GetKeyboardType Lib "USER32" (ByVal nTypeFlag&) As Long 'GetSystemDirectory => Winodwsのシステム フォルダのパス名を取得する '<引数> 'lpBuffer: 取得したフォルダ名を入れる変数名 'nSize: バッファの確保した文字数 (バイト) '@戻り値@ '取得した文字数 Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 'GetTempPath =>TEMPファイルのディレクトリを取得する '<引数> 'nBufferLength: 文字数 'lpBuffe: パスが格納される変数 '@戻り値@ ' 正常終了0以外 Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long 'GetUserName =>ユーザー名を取得する '<引数> 'lpBuffer: ユーザー名を格納する変数 'nSize: ユーザー名の文字数 '@戻り値@ ' 正常終了0以外 Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long 'GetWindowsDirectory => Winodws フォルダのパス名を取得する '<引数> 'lpBuffer: 取得したフォルダ名を入れる変数名 'nSize: バッファの確保した文字数 (バイト) '@戻り値@ ' 取得した文字数 Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Private Sub Command1_Click() Dim Name As String Dim Leng As Long Dim Ret As Long 'バッファを確保 Name = String(250, Chr(0)) Leng = Len(Name) Ret = GetComputerName(Name, Leng) MsgBox "コンピュータ名:" & Name End Sub Private Sub Command2_Click() Dim nName As String Dim nLeng As Long Dim Ret As Long 'バッファを確保 nName = String(250, Chr(0)) nLeng = Len(nName) Ret = GetClassName(Form1.hwnd, nName, nLeng) MsgBox "クラス名:" & nName End Sub Private Sub Command3_Click() Dim nName As String Dim nLeng As Long Dim Ret As Long 'バッファを確保 nName = String(250, Chr(0)) nLeng = Len(nName) Ret = GetCurrentDirectory(nLeng, nName) MsgBox "カレントディレクトリ:" & nName End Sub Private Sub Command4_Click() Dim Ret As Long 'ファンクションキーの数を取得 Ret = GetKeyboardType(2) MsgBox Ret End Sub Private Sub Command5_Click() Dim FORUDA$, WK As String FORUDA = Space(50) 'システムフォルダのパス名を取得 WK = GetSystemDirectory(FORUDA, 50) MsgBox FORUDA End Sub Private Sub Command6_Click() Dim nLeng As Long Dim nName As String Dim Ret As Long 'バッファを確保 nName = String(250, Chr(0)) nLeng = Len(nName) Ret = GetTempPath(nLeng, nName) MsgBox nName End Sub Private Sub Command7_Click() Dim Name As String Dim Leng As Long Dim Ret As Long 'バッファを確保 Name = String(250, Chr(0)) Leng = Len(Name) Ret = GetUserName(Name, Leng) MsgBox "ユーザー名:" & Name End Sub Private Sub Command8_Click() Dim FORUDA$, MODORITI As String '文字列50バイト分の大きさ確保・・・フォルダ名を入れる変数の大きさ FORUDA = Space(50) MODORITI = GetWindowsDirectory(FORUDA, 50) MsgBox FORUDA End Sub
ソースコード一式のダウンロード
vbapi_get.zip 1.69 KB (1,731 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | アプリケーションを強制終了する |
次の記事: | メモリの情報を取得する |
公開日:2015年03月05日
記事NO:00386