Smartphone MFC 奇怪的问题??

sc_valentine21 2009-02-14 10:04:06
目标:程序只运行一个实例
Smartphone 5.0,用MFC写的程序,按Home键后,程序后台执行,再去打开程序,实际上,mobile里已经做了,只运行一个实例,但是要等很长一段时间,大约要60秒,会调出按Home键之前的界面,其实如果你不做什么,原先运行的程序也会在一段时间后自动跳到最前面来,这是为何?难道是系统使然?
如果是用win32方式写的程序,那没得一点问题。
所以我用另外一种方式,将他HIDE掉,然后创建Mutex,再FindWindow,将其SHOW出来,很纳闷,在PC上,我就那么写的,一点问题没有,但是在SP上,写出来,就SHOW不出来,
而且这里要放在InitApplication()里面才行,

HANDLE m_hMutex;
m_hMutex = CreateMutex(NULL, TRUE, L"StarLee");

// 检测是否已经创建Mutex
// 如果已经创建,就终止进程的启动
if ((m_hMutex != NULL) && (GetLastError() == ERROR_ALREADY_EXISTS))
{
ReleaseMutex(m_hMutex);

MessageBox(NULL, L"该进程已经启动", L"错误", MB_OK);

HWND hwndFind = FindWindow(NULL, L"SPTestMinSize");

if (NULL != hwndFind)
{
::ShowWindow(hwndFind, SW_SHOW);
SetFocus(hwndFind);
SetForegroundWindow(hwndFind);
}
return FALSE;
}

希望各位帮我看一下,说说问题处在哪个地方。
...全文
179 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sc_valentine21 2009-02-16
  • 打赏
  • 举报
回复
是这样,先前有实例在运行。我并没有将其结束掉,再去打开exe文件,系统会自动处理,打开先前已经打开的实例,但是等待事件会很久,约麽60秒,所以感到非常奇怪。
还有一点就是,按HOME键,显然就是将程序放在后台去了,即使你不做任何事,在等待一段时间后,先前被放在后台的程序会又被激活,这个让我也很难理解。
我想只要用MFC写的SP程序,都会出现这个问题,不知为何啊?
shhpj11 2009-02-16
  • 打赏
  • 举报
回复
ding
netsocket 2009-02-16
  • 打赏
  • 举报
回复
ding
pcjbird 2009-02-16
  • 打赏
  • 举报
回复
貌似我也遇到这个问题~~~
儿大不由爷 2009-02-16
  • 打赏
  • 举报
回复
基于MFC和ATL的应用框架里已经处理了这个防止应用重入的问题了。
程序里不需要处理这个。
yihan7h 2009-02-16
  • 打赏
  • 举报
回复
额。。基本不用MFC。。。API或者WTL
帮顶
sc_valentine21 2009-02-16
  • 打赏
  • 举报
回复
问题得以解决,感谢大家的帮助!!!
解决方法:http://blog.csdn.net/sc_valentine21/archive/2009/02/16/3895930.aspx
sc_valentine21 2009-02-16
  • 打赏
  • 举报
回复
有没人遇到同样的问题。解决了的,提示下啊,郁闷得很,现在。没有解决的,也冒个泡,大家共同解决撒
sc_valentine21 2009-02-15
  • 打赏
  • 举报
回复
这个我敢确定,程序的确是在运行中的。
即使不做任何操作,等一段时间,先前打开的程序又会弹出来。等待大概需要60秒,这个就是最奇怪的地方。
yihan7h 2009-02-15
  • 打赏
  • 举报
回复
恩,我的意思是,您测试的时候,先前已经有实例在运行了,而您没有结束掉,再次运行的话自然就会出现你所说的情况。
我觉得最奇怪的是需要60秒……很怪异
sc_valentine21 2009-02-14
  • 打赏
  • 举报
回复
应该不是程序的问题吧,直接向导生产MFC程序。啥都不改,也是这个情况
儿大不由爷 2009-02-14
  • 打赏
  • 举报
回复
是你的程序有问题吧
yihan7h 2009-02-14
  • 打赏
  • 举报
回复
弱弱的问下,你测试的时候,是不是之前打开过该程序没有真正kill掉。。。
进程里确定没有实例在运行以后,您再试试

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧