インストールされているメールソフトを列挙する方法

◆概要

 このページは、Visual Basic 6.0でインストールされているメールソフトを列挙する方法について記載しています。

 ユーザーのパソコンにメールソフトがインストールされると、レジストリの以下の場所に値が登録されます。

HKEY_LOCAL_MACHINE\Software\Clients\Mail

これを調べると、パソコンにインストールされているメールクライアントソフト名を取得することができます。

◆SampleCode


 フォームにリストボックスとコマンドボタンを配置し、以下のコードを実装します。


標準モジュール

Option Explicit

Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
  (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal _
  hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _
  ByVal cbName As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Const HKEY_LOCAL_MACHINE = &H80000002

フォームモジュール

Private Sub Command1_Click()
    Dim sKey As String * 255
    Dim lRegKey As Long
    Dim iKey As Integer

    List1.Clear
    
    'レジストリ キーを開くために、RegOpenKey() APIを呼び出します。
    Call RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Clients\Mail", lRegKey)
    
    ' 目的の項目に正しい値の文字列が見つかるまで、
    ' ループからRegEnumValue()を呼び出します。
    While RegEnumKey(lRegKey, iKey, sKey, 255) = 0
        List1.AddItem Left(sKey, InStr(sKey, Chr(0)) - 1)
        iKey = iKey + 1
    Wend

    Call RegCloseKey(lRegKey)

End Sub


▼ページトップへ