5036|8

63

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE下如何判断一个程序是否已经运行? [复制链接]

参考了一些桌面上的方案,发现在CE4.2下面都用不了,要么是mutex函数不支持多个参数,要么就是用不了Process类,大家能不能帮忙想想办法啊,看怎么实现判断程序是否运行的效果,如果已经运行了就不要再运行。

最新回复

WTL源码里有  详情 回复 发表于 2007-7-9 13:46
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
FindWindow
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼上正解
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
FindWindow只适用于有窗体的程序,如果没有窗体,建议你使用往注册表写运行标志的方式,当然还可以用其他类似的方法,比如更改配置文件、独占某个资源等
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
mutex是可以用的,建议你不要参考桌面上的例子,SDK 的Sample和Hello World的方法已经最好了。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 
呵呵,你真幸运,结贴吧。这段代码考过去就能用的。

        HANDLE m_hCHDle = CreateMutex(NULL,TRUE,
                _T("aaa"));

        if(GetLastError()==ERROR_ALREADY_EXISTS)  
        {       
                CWnd *pWnd=CWnd::FindWindow(NULL,_T("啊啊啊啊"));  
                if(pWnd)
                {                       
                        pWnd->SetForegroundWindow();
                        pWnd->PostMessage(WM_NULL, NULL, NULL);
                        return TRUE;
                }

        }
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

7
 
CreateMutex有CE版本的啊,而且参数一摸一样,就是字符串是unicode的罢了.使用CreateMutex.
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
        HANDLE hMutex;
        hMutex = CreateMutex(NULL, TRUE, _T("Sniffer"));

        if (hMutex)
        {
                if(ERROR_ALREADY_EXISTS == GetLastError())
                {
                        return FALSE;
                }
        }
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
WTL源码里有
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表