コントロールパネル内のメニューを開く <TOP>
コントロールパネル内の各アイテムはCPLファイル形式でWindowsのシステムフォルダに保存されています。
それらを直接呼び出してみます。
CPlApplet_Desk
画面のプロパティ
CPlApplet_Intl 地域と言語のオプション
CPlApplet_MMSys サウンドとオーディオデバイスのプロパティ
CPlApplet_Access ユーザー補助のプロパティ
CPlApplet_AppWiz プログラムの追加と削除
CPlApplet_InetCpl インターネットのプロパティ
CPlApplet_Telephon 電話とモデムのオプション
CPlApplet_TimeDate 日付と時刻のプロパティ
CPlApplet_Main マウスのプロパティ・キーボードのプロパティ

'================================================================
'= コントロールパネル内のメニューを開く
'= (CPlApplet.bas)
'================================================================
#include "Windows.bi"
Type CPLINFO
idIcon As Long
idName As Long
idInfo As Long
lData As Long
End Type
' 画面のプロパティ
Declare Function CPlApplet_Desk& Lib "desk.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' 地域と言語のオプション
Declare Function CPlApplet_Intl& Lib "intl.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' サウンドとオーディオデバイスのプロパティ
Declare Function CPlApplet_MMSys& Lib "mmsys.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' ユーザー補助のプロパティ
Declare Function CPlApplet_Access& Lib "access.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' プログラムの追加と削除
Declare Function CPlApplet_AppWiz& Lib "appwiz.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' インターネットのプロパティ
Declare Function CPlApplet_InetCpl& Lib "inetcpl.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' 電話とモデムのオプション
Declare Function CPlApplet_Telephon& Lib "telephon.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' 日付と時刻のプロパティ
Declare Function CPlApplet_TimeDate& Lib "timedate.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
' マウスのプロパティ・キーボードのプロパティ
Declare Function CPlApplet_Main& Lib "main.cpl" Alias "CPlApplet" (ByVal GethWndCPl&, ByVal uMsg&, ByVal lParam1&, ByVal lParam2&)
#define CPL_INIT 1
#define CPL_GETCOUNT 2
#define CPL_INQUIRE 3
#define CPL_SELECT 4
#define CPL_DBLCLK 5
#define CPL_STOP 6
#define CPL_EXIT 7
#define CPL_NEWINQUIRE 8
Var Shared ci As CPLINFO
Var Shared Button(9) As Object
For i = 0 To 9
Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1)))
Button(i).SetFontSize 12
Next
'================================================================
'=
'================================================================
Declare Sub MainCplApplet(lParam1 As Long)
Sub MainCplApplet(lParam1 As Long)
Var Ret As Long
If CPlApplet_Main(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_Main(GethWnd, CPL_INQUIRE, lParam1, VarAdr(ci))
Ret = CPlApplet_Main(GethWnd, CPL_DBLCLK, lParam1, ci.lData)
Ret = CPlApplet_Main(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_Main(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= 画面のプロパティ
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
Var Ret As Long
If CPlApplet_Desk(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_Desk(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_Desk(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_Desk(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_Desk(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= サウンドとオーディオデバイスのプロパティ
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
Var Ret As Long
If CPlApplet_MMSys(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_MMSys(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_MMSys(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_MMSys(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_MMSys(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= プログラムの追加と削除
'================================================================
Declare Sub Button3_on edecl ()
Sub Button3_on()
Var Ret As Long
If CPlApplet_AppWiz(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_AppWiz(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_AppWiz(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_AppWiz(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_AppWiz(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= 日付と時刻のプロパティ
'================================================================
Declare Sub Button4_on edecl ()
Sub Button4_on()
Var Ret As Long
If CPlApplet_TimeDate(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_TimeDate(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_TimeDate(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_TimeDate(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_TimeDate(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= マウスのプロパティ
'================================================================
Declare Sub Button5_on edecl ()
Sub Button5_on()
MainCplApplet(0)
End Sub
'================================================================
'= 地域と言語のオプション
'================================================================
Declare Sub Button6_on edecl ()
Sub Button6_on()
Var Ret As Long
If CPlApplet_Intl(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_Intl(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_Intl(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_Intl(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_Intl(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= ユーザー補助のプロパティ
'================================================================
Declare Sub Button7_on edecl ()
Sub Button7_on()
Var Ret As Long
If CPlApplet_Access(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_Access(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_Access(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_Access(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_Access(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= インターネットのプロパティ
'================================================================
Declare Sub Button8_on edecl ()
Sub Button8_on()
Var Ret As Long
If CPlApplet_InetCpl(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_InetCpl(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_InetCpl(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_InetCpl(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_InetCpl(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= 電話とモデムのオプション
'================================================================
Declare Sub Button9_on edecl ()
Sub Button9_on()
Var Ret As Long
If CPlApplet_Telephon(GethWnd, CPL_INIT, 0, 0) <> 0 Then
Ret = CPlApplet_Telephon(GethWnd, CPL_INQUIRE, 0, VarAdr(ci))
Ret = CPlApplet_Telephon(GethWnd, CPL_DBLCLK, 0, ci.lData)
Ret = CPlApplet_Telephon(GethWnd, CPL_STOP, 0, ci.lData)
Ret = CPlApplet_Telephon(GethWnd, CPL_EXIT, 0, 0)
End If
End Sub
'================================================================
'= キーボードのプロパティ
'================================================================
Declare Sub Button10_on edecl ()
Sub Button10_on()
MainCplApplet(1)
End Sub
'================================================================
'=
'================================================================
While 1
WaitEvent
Wend
Stop
End