启动程序(第二次开启程序,显示第一次打开的程序)
来源:互联网 发布:暗黑破坏神3 mac 卡吗 编辑:程序博客网 时间:2024/05/17 06:43
很多时候我们会限制程序只能开启一个,一般我们会用全局命名互斥量来实现这个任务。
如果程序没有界面,这样做可以很好实现。但是如果程序有界面呢,用户在双点桌面的快捷方式时,程序不能开启,最多只能提示程序已开启。这样就算完事了。但对用户来说,还要在任务栏上找个半天(也许这时个任务栏已全部都排满了。所以这对用户是很大的不方便。
下面写的是我最近看到的一个方案,它在第二次启动时最就第一次打开的界面显示在最前面。用户操作很方便多
// CAtlFileMapping<HWND> m_mapping; map里放的时程序开启后的主界面窗口句柄#define APP_OBJECT_NAME _T(“asfasdfadsfadsfasd”)if (m_mapping.GetHandle())return TRUE;BOOL bAlreadExisted = FALSE;标签: 程序启动BOOL bRet = mapping.MapShareMem(sizeof(HWND), APP_OBJECT_NAME, &bAlreadExisted);if (FAILED(bRet))return bRet;if (bAlreadyExisted) {HWND hWnd = *((HWND *)m_mapping);if (!::IsWindowVisible(hWnd))::ShowWindow(hWnd, SW_SHOW);if (::IsIconic(hWnd)) {::SendMessage(hWnd, WM_SYSTEMCOMMAND, SC_RESTOR | HTCAPTION, 0);::SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0 SW_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW | SWP_NOACTIVATE);::SetForegroundWindow(hWnd);::SetFocus(hWnd);return FALSE}
- 启动程序(第二次开启程序,显示第一次打开的程序)
- 打开第二次VB程序时通知第一次运行的程序并自己关闭的方法
- C# 只开启一个程序,如果第二次打开则自动将第一个程序显示到桌面
- 判断程序第一次启动
- iOS判断程序第一次启动的方法
- winfrom设置启动程序并开启程序
- 判断ios程序第一次启动
- 判断程序是不是第一次启动
- 我的第一次程序
- QT 程序完全打开前的开启画面
- 第一次程序
- 第一次程序
- 第一次程序
- ANDROID第一次安装打开,home键再点击启动。程序重复启动
- 程序启动自动打开浏览器
- 电脑开启自动启动程序,单任务启动程序。
- 程序启动时候自定义的显示页面
- 当某个程序已经启动,再点击程序快捷方式如何切换到已打开的程序界面(程序只允许启动一个实例)
- ContentResolver 程序间数据的传递
- vmware中网卡不工作问题的解决
- bash删除文件中的空行
- 各大网站IPv6精准地址
- Linux的磁盘配额详解(Quota)
- 启动程序(第二次开启程序,显示第一次打开的程序)
- 【转贴】几个制约测试发展的问题
- 反转字符串
- MVC的个人理解
- mysql命令行命令和SQL语句,MySQL修改删除增加字段类型,字段数据等。。
- 用jquery实现单双行变色以及鼠标经过时也同时变色
- 四极管:浮点数到整数的转换(转)
- 谷歌浏览器兼容性极差!
- JXARM9-2410实验箱flash烧写及程序下载时的EB2410_load.csf配置解析