TOP > カテゴリ > Visual Basic >

システムに関する各種情報を取得する

システムに関する各種情報を取得するサンプルです。

サンプルの実行画面

ソースコード

[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