📄 cplit.cpp
字号:
// CplIt.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
//<BOOK_ADDON Chapter 11.3>
#include "cpl.h"
#include "resource.h"
//</BOOK_ADDON Chapter 11.3>
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
//<BOOK_ADDON Chapter 11.3>
HANDLE hinst = NULL;
LONG CALLBACK CPlApplet(HWND hwndCPL, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
{
int i;
LPCPLINFO lpCPlInfo;
LPNEWCPLINFO lpNewCPlInfo;
i = (int) lParam1;
switch (uMsg) {
case CPL_INIT: // first message
// save hInstance in case you need it
hinst = GetModuleHandle(TEXT("CplIt.cpl"));
return TRUE;
case CPL_GETCOUNT: // second message
return 1; // Number of virtual Applet "Applications"
break;
case CPL_INQUIRE: // third message, sent once per application
// Will not be called under Windows CE
lpCPlInfo = (LPCPLINFO) lParam2;
lpCPlInfo->lData = 0; // Semd as lParam2 to CPL_DBLCLK
lpCPlInfo->idIcon = IDI_ICON1;
lpCPlInfo->idName = IDS_NAME;
lpCPlInfo->idInfo = IDS_DESC;
break;
case CPL_NEWINQUIRE: // third message, sent once per application
lpNewCPlInfo = (LPNEWCPLINFO) lParam2;
lpNewCPlInfo->dwSize = sizeof(NEWCPLINFO); // Important
lpNewCPlInfo->dwFlags = 0;
lpNewCPlInfo->dwHelpContext = 0;
lpNewCPlInfo->lData = 0;
lpNewCPlInfo->hIcon = LoadIcon((HINSTANCE)hinst,MAKEINTRESOURCE(IDI_ICON1));
wcscpy(lpNewCPlInfo->szName, TEXT("My First Applet"));
wcscpy(lpNewCPlInfo->szInfo, TEXT("My First Control Panel Applet"));
wcscpy(lpNewCPlInfo->szHelpFile, TEXT(""));
break;
case CPL_DBLCLK: // application icon double-clicked
MessageBox(NULL,TEXT("My first Control-Panel Applet"),TEXT("CplIt.CPL"),MB_OK);
break;
case CPL_STOP: // sent once per application before CPL_EXIT
break;
case CPL_EXIT: // sent once before FreeLibrary is called
break;
default:
break;
}
return 0;
}
//<BOOK_ADDON Chapter 11.3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -