VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
热键控件使用示例 CHotKeyCtrl

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

记得以前刚学VC时候不知道怎么使用控件面斑上的 HOTKEY控件, 那时看不懂MSDN英文帮助,在网上找了好久都无该控件的使用帮助,今天整理硬件看到我写的这个代码,看看是这么的简单啊,:)

==================================================================================

BOOL CMyHotKeyDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 
 
 SetIcon(m_hIcon, TRUE);   // Set big icon
 SetIcon(m_hIcon, FALSE);  // Set small icon
 
 
 //获取 NOTEPAD路径
 char path[100];
 GetWindowsDirectory(path,100);
 strcat(path,"notepad.exe");
 m_path.Format("%s",path);
 UpdateData(FALSE);
 
 //也可以设置热键规则,以下代码限制只能使用CTRL+ 形式的热键
 //m_hotkey.SetRules(HKCOMB_C,HOTKEYF_CONTROL);
 
 //设置默认热键
 m_hotkey.SetHotKey(VK_F2,MOD_CONTROL);
 
 return TRUE; 
}

 

//安装热键代码
void CMyHotKeyDlg::OnSetup()
{
 //获得热键虚拟码和标志符
 WORD virtualcode,modifiers;
 m_hotkey.GetHotKey(virtualcode,modifiers);
 
 //设置热键ID=100
 if (!RegisterHotKey(this->m_hWnd,100,modifiers,virtualcode))
  MessageBox("热键设置错误,可能重复了!");
 else
  MessageBox("热键设置成功!");
 
}

void CMyHotKeyDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{ //自定义消息 WM_HOTKEY
 
 if (wParam==100)
 {
  UpdateData(TRUE); //执行
  ShellExecute(this->m_hWnd,"open",m_path,NULL,NULL,SW_SHOW);
 }
 
}

 

需要字定义消息WM_HOTKEY

BEGIN_MESSAGE_MAP(CMyHotKeyDlg, CDialog)
//{{AFX_MSG_MAP(CMyHotKeyDlg)
............................

ON_MESSAGE(WM_HOTKEY,OnHotKey)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

 


 // Generated message map functions
 //{{AFX_MSG(CMyHotKeyDlg)
................

 afx_msg void OnHotKey(WPARAM wParam,LPARAM lParam);
 //}}AFX_MSG

很简单一个使用示例,代码演示了怎么设置各种热键以便打开 WINDOWS 记事本程序!




相关文章

相关软件