📄 pcdminput.cpp
字号:
// PCDMInput.cpp : Implementation of CPCDMInput
#include "stdafx.h"
#include "PCDMDLL.h"
#include "PCDMInput.h"
/////////////////////////////////////////////////////////////////////////////
// CPCDMInput
// <BOOK_ADDON STEP2 Chapter 7.9.2> ************************************
#ifdef UNDER_CE
#include <aygshell.h>
typedef BOOL (*SHSIPINFOPROC)(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
#endif
#include <initguid.h>
DEFINE_GUID( IID_IVKeyB,0x42429667,0xAE04,0x11D0,0xA4,0xf8,0x00,0xAA,0x00,0xA7,0x49,0xB9 );
DEFINE_GUID( IID_IJot ,0x42429690,0xAE04,0x11D0,0xA4,0xf8,0x00,0xAA,0x00,0xA7,0x49,0xB9 );
STDMETHODIMP CPCDMInput::ShowSIP(int iShow)
{
#ifdef UNDER_CE
SHSIPINFOPROC g_hSHSipInfo=NULL;
HINSTANCE hDll;
SIPINFO si;
hDll = LoadLibrary(TEXT("aygshell.dll"));
if (hDll)
{
memset(&si, 0, sizeof(si));
si.cbSize = sizeof(si);
g_hSHSipInfo =(SHSIPINFOPROC)GetProcAddress(hDll,
TEXT("SHSipInfo"));
switch (iShow)
{
case 0:
(*g_hSHSipInfo)(SPI_GETSIPINFO, 0, &si, 0);
// Switch the SIP OFF
si.fdwFlags = si.fdwFlags & ~ SIPF_ON;
(*g_hSHSipInfo)(SPI_SETSIPINFO, 0, &si, 0);
break;
case 1:
(*g_hSHSipInfo)(SPI_SETCURRENTIM, 0, (void *)&IID_IVKeyB, 0);
(*g_hSHSipInfo)(SPI_GETSIPINFO, 0, &si, 0);
si.fdwFlags = si.fdwFlags | SIPF_ON;
(*g_hSHSipInfo)(SPI_SETSIPINFO, 0, &si, 0);
break;
default:
(*g_hSHSipInfo)(SPI_SETCURRENTIM, 0,(void *)&IID_IJot, 0);
(*g_hSHSipInfo)(SPI_GETSIPINFO, 0, &si, 0);
si.fdwFlags = si.fdwFlags | SIPF_ON;
(*g_hSHSipInfo)(SPI_SETSIPINFO, 0, &si, 0);
break;
}
FreeLibrary(hDll);
}
#endif
return S_OK;
}
// <BOOK_ADDON STEP2 Chapter 7.9.2> ************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -