整理一些需要用到的代码——VC++__MFC窗口的应用
2011-07-09 13:26
501 查看
一、VC防止同一个程序运行两个实例
二、VC编写任务栏右下角图标程序
三、隐藏窗口
防止同一个程序运行两个实例: 在app类的cpp的InitInstance函数中:HANDLE hMutex; BOOL CDeskTopLockApp::InitInstance() { CString strName = _T("DeskTopLockApplication"); hMutex = OpenMutex(MUTEX_ALL_ACCESS, false, strName); if(hMutex == NULL) { hMutex = CreateMutex(NULL,NULL,strName); } else { AfxMessageBox(_T(" 桌面锁已启动 !")); return false; } …………………………………… m_nCmdShow=SW_HIDE; //程序启动时隐藏窗口A if (!ProcessShellCommand(cmdInfo)) return FALSE; // The one and only window has been initialized, so show and update it m_pMainWnd->ShowWindow(SW_HIDE); //程序启动时隐藏窗口B m_pMainWnd->UpdateWindow(); // call DragAcceptFiles only if there's a suffix // In an SDI app, this should occur after ProcessShellCommand return TRUE; }
二、VC编写任务栏右下角图标程序
//任务栏右下角图标程序: //在CMainFrame头文件中定义变量: NOTIFYICONDATA nid; //在OnCreate函数中或者初始化函数中: nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = m_hWnd; nid.uID = IDI_SYSTEMTRAY; //图标的ID nid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP; nid.uCallbackMessage = WM_SYSTEMTRAY; //图标对应的消息的ID nid.hIcon = AfxGetApp()->LoadIcon(IDI_SYSTEMTRAY); wcscpy_s(nid.szTip,10, L"桌面锁"); ::Shell_NotifyIcon(NIM_ADD,&nid); //用ON_MESSAGE将WM_SYSTEMTRAY与消息函数绑定: LRESULT CMainFrame::OnSystemTray(WPARAM wParam, LPARAM lParam) { if(wParam == IDI_SYSTEMTRAY) { switch(lParam) { case WM_LBUTTONDOWN: { break; } case WM_RBUTTONDOWN: { break; } case WM_LBUTTONDBLCLK: { break; } } } return 0; } //在程序退出之前还要: NOTIFYICONDATA nid; nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = m_hWnd; nid.uID = IDI_SYSTEMTRAY; nid.uFlags = 0; ::Shell_NotifyIcon(NIM_DELETE, &nid);
三、隐藏窗口
//本函数实现隐藏窗口 NOTIFYICONDATA nid; nid.cbSize=sizeof(NOTIFYICONDATA); nid.hWnd=this-> m_hWnd; nid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP; nid.uID=IDR_MAINFRAME; nid.hIcon=AfxGetApp()-> LoadIcon(IDI_CCEYE); strcpy(nid.szTip, "AppName V1.0 "); nid.uCallbackMessage=WM_USER+100;//窗口消息 Shell_NotifyIcon(NIM_ADD,&nid); ShowWindow(SW_HIDE);//放在 需要的地方 //该部分负责退出时销毁图标 NOTIFYICONDATA nid; nid.cbSize=sizeof(nid); nid.uID=IDI_CCEYE; nid.hWnd=this-> m_hWnd; Shell_NotifyIcon(NIM_DELETE,&nid);
相关文章推荐
- C#学习,整理一些API类,外挂编程需要用到
- C#学习,整理一些API类,外挂编程需要用到
- 一些VC例子的代码--切分窗口
- 前几天用VC++,获取SQL中的内容并保存,由于不是很熟悉,走了很多弯路,现在总结哈,希望能给需要的人一些帮助。 直接贴代码。
- 整理一些经常用到的js代码(一) 不断更新中。。。
- C#用到的一些代码汇总,后期再整理
- 画图时用到过的一些方法 写的很乱 补充的也需要很多 以后再整理完整
- MFC代码修改窗口属性
- 如何学好VC和MFC(各前辈学习方法及感受整理)(一)
- 一些非常好的VC++/MFC开源项目链接
- 【凯子哥带你夯实应用层】新手必备的常用代码片段整理(二)
- VC++的一些PAD整理
- 代码乱了需要及时整理,现在不即时整理将来会更痛苦
- 加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。
- 标准和 JM 代码--根据firsttime的材料整理出自己需要的加了红色标记
- VB和VC格式化代码的一些方法,记录一下,不记老忘记
- MFC应用开启 xp/vista/win7 可视化风格,只需一行代码
- 对VC++一些常见问题的整理
- VC 和 MFC 的一些常见问题
- VC 和 MFC 的一些常见问题