インストールされているメールソフトを列挙する方法
◆概要
このページは、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