3 * FILE: dll/win32/input/input.c
5 * PROGRAMMER: Dmitry Chapyshev (lentind@yandex.ru)
15 #define NUM_APPLETS (1)
17 LONG CALLBACK
SystemApplet(VOID
);
18 HINSTANCE hApplet
= 0;
23 APPLET Applets
[NUM_APPLETS
] =
25 {IDI_CPLSYSTEM
, IDS_CPLSYSTEMNAME
, IDS_CPLSYSTEMDESCRIPTION
, SystemApplet
}
30 InitPropSheetPage(PROPSHEETPAGE
*psp
, WORD idDlg
, DLGPROC DlgProc
)
32 ZeroMemory(psp
, sizeof(PROPSHEETPAGE
));
33 psp
->dwSize
= sizeof(PROPSHEETPAGE
);
34 psp
->dwFlags
= PSP_DEFAULT
;
35 psp
->hInstance
= hApplet
;
36 psp
->pszTemplate
= MAKEINTRESOURCE(idDlg
);
37 psp
->pfnDlgProc
= DlgProc
;
50 LoadString(hApplet
, IDS_CPLSYSTEMNAME
, Caption
, sizeof(Caption
) / sizeof(TCHAR
));
52 ZeroMemory(&psh
, sizeof(PROPSHEETHEADER
));
53 psh
.dwSize
= sizeof(PROPSHEETHEADER
);
54 psh
.dwFlags
= PSH_PROPSHEETPAGE
;
55 psh
.hwndParent
= hCPLWindow
;
56 psh
.hInstance
= hApplet
;
57 psh
.hIcon
= LoadIcon(hApplet
, MAKEINTRESOURCE(IDI_CPLSYSTEM
));
58 psh
.pszCaption
= Caption
;
59 psh
.nPages
= sizeof(psp
) / sizeof(PROPSHEETPAGE
);
62 psh
.pfnCallback
= NULL
;
65 InitPropSheetPage(&psp
[0], IDD_PROPPAGESETTINGS
, (DLGPROC
)SettingsPageProc
);
67 /* Advanced Settings */
68 InitPropSheetPage(&psp
[1], IDD_PROPPAGEADVANCEDSETTINGS
, (DLGPROC
)AdvancedSettingsPageProc
);
70 return (LONG
)(PropertySheet(&psh
) != -1);
74 /* Control Panel Callback */
76 CPlApplet(HWND hwndCPl
, UINT uMsg
, LPARAM lParam1
, LPARAM lParam2
)
91 CPlInfo
= (CPLINFO
*)lParam2
;
93 CPlInfo
->idIcon
= Applets
[i
].idIcon
;
94 CPlInfo
->idName
= Applets
[i
].idName
;
95 CPlInfo
->idInfo
= Applets
[i
].idDescription
;
100 Applets
[i
].AppletProc();
109 DllMain(HINSTANCE hinstDLL
, DWORD dwReason
, LPVOID lpvReserved
)
111 UNREFERENCED_PARAMETER(lpvReserved
);
115 case DLL_PROCESS_ATTACH
:
116 case DLL_THREAD_ATTACH
:
118 hProcessHeap
= GetProcessHeap();