www.pudn.com > 智能内码识别,支持屏幕取词翻译的程序.zip > HOTKEY.CPP


// hotkey.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include	"resource.h" 
#include	"systemse.h" 
//#include "hotkey.h" 
#include	"cspublic.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char BASED_CODE THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CHotKey dialog 
 
CHotKey::CHotKey(UINT id) : CCommonPage(id) 
{ 
	//热键数目 
	m_nHotKeyNum	=3 ; 
	//缺省热键值 
	//0为隐藏/显示浮动条热键 
	strcpy( m_HotKeyParam[0].sName , "隐藏/显示主窗口" ) ; 
	m_HotKeyParam[0].bDefaultCtrl	=0 ; 
	m_HotKeyParam[0].bDefaultAlt	=0 ; 
	m_HotKeyParam[0].bDefaultShift	=1 ; 
	m_HotKeyParam[0].nDefaultChar	=0 ;	// \, 
	//1为取消/启动屏幕指取翻译 
	strcpy( m_HotKeyParam[1].sName , "取消/启动屏幕指取翻译" ) ; 
	m_HotKeyParam[1].bDefaultCtrl	=1 ; 
	m_HotKeyParam[1].bDefaultAlt	=1 ; 
	m_HotKeyParam[1].bDefaultShift	=0 ; 
	m_HotKeyParam[1].nDefaultChar	=51 ; 
	//2为屏幕指取辅助键 
	strcpy( m_HotKeyParam[2].sName , "屏幕指取翻译辅助键" ) ; 
	m_HotKeyParam[2].bDefaultCtrl	=1 ; 
	m_HotKeyParam[2].bDefaultAlt	=1 ; 
	m_HotKeyParam[2].bDefaultShift	=0 ; 
	m_HotKeyParam[2].nDefaultChar	=0 ; 
//---------------------------------------------------------------------//	 
 
	//从INI文件中得到当前热键 
	m_HotKeyParam[0].bCtrl	=GetPrivateProfileInt( "热键定义" , 
					"WinCtrl" , m_HotKeyParam[0].bDefaultCtrl , INI_FILE_NAME ) ; 
	m_HotKeyParam[0].bAlt	=GetPrivateProfileInt( "热键定义" , 
					"WinAlt" , m_HotKeyParam[0].bDefaultAlt , INI_FILE_NAME ) ; 
	m_HotKeyParam[0].bShift	=GetPrivateProfileInt( "热键定义" , 
					"WinShift" , m_HotKeyParam[0].bDefaultShift , INI_FILE_NAME ) ; 
	m_HotKeyParam[0].nChar	=GetPrivateProfileInt( "热键定义" , 
					"WinAsc" , m_HotKeyParam[0].nDefaultChar , INI_FILE_NAME ) ; 
	m_HotKeyParam[1].bCtrl	=GetPrivateProfileInt( "热键定义" , 
					"FingerCtrl" , m_HotKeyParam[1].bDefaultCtrl , INI_FILE_NAME ) ; 
	m_HotKeyParam[1].bAlt	=GetPrivateProfileInt( "热键定义" , 
					"FingerAlt" , m_HotKeyParam[1].bDefaultAlt , INI_FILE_NAME ) ; 
	m_HotKeyParam[1].bShift	=GetPrivateProfileInt( "热键定义" , 
					"FingerShift" , m_HotKeyParam[1].bDefaultShift , INI_FILE_NAME ) ; 
	m_HotKeyParam[1].nChar	=GetPrivateProfileInt( "热键定义" , 
					"FingerAsc" , m_HotKeyParam[1].nDefaultChar , INI_FILE_NAME ) ; 
	m_HotKeyParam[2].bCtrl	=GetPrivateProfileInt( "热键定义" , 
					"AidCtrl" , m_HotKeyParam[2].bDefaultCtrl , INI_FILE_NAME ) ; 
	m_HotKeyParam[2].bAlt	=GetPrivateProfileInt( "热键定义" , 
					"AidAlt" , m_HotKeyParam[2].bDefaultAlt , INI_FILE_NAME ) ; 
	m_HotKeyParam[2].bShift	=GetPrivateProfileInt( "热键定义" , 
					"AidShift" , m_HotKeyParam[2].bDefaultShift , INI_FILE_NAME ) ; 
	m_HotKeyParam[2].nChar	=GetPrivateProfileInt( "热键定义" , 
					"AidAsc" , m_HotKeyParam[2].nDefaultChar , INI_FILE_NAME ) ; 
/*	 
	m_nCurrentHotKey	=GetPrivateProfileInt( "热键定义" , 
									"当前热键" , 0 , INI_FILE_NAME ) ; 
	if( m_nCurrentHotKey<0 || m_nCurrentHotKey>=m_nHotKeyNum ) 
		m_nCurrentHotKey	=0 ;	//不合法												 
	//得到当前热键值 
	char	sBuff[100] ; 
	for( int i=0 ; i