⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcdminput.cpp

📁 《Windows CE 权威指南》(作者:(美)CHRIS MUENCH
💻 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 + -