近日來,一直一個問題困擾着,心裏是十分鬱悶吶,今天解決了,十分,極其,異常開心。
問題描述:
項目是從PPC移植到SmartPhone上的,用的是MFC寫的,這裏不得不處理一些按鍵的問題,然而發現一個奇怪的現象:運行程序時,按HOME鍵,程序會消失(也就是轉到後臺去了),但是奇怪的是在任務管理器上,竟然沒有運行的程序,這個讓我感到好生奇怪,接着再去打開程序,打不開!準確的說是無法馬上打開,在等待大約60秒後,先前運行的程序才啓動起來。(這裏不用考慮會打開多個實例,其實系統都已經自動判斷了,如果已經有程序運行了,就激活,沒有則新建)
這種情況真的是讓人丈二和尚摸不着頭腦,更可氣的是用win32方式寫的程序是沒有一點問題。更奇怪了,網上找半天也找出個結果,鬱悶吶。曾經想過用Hide Window,然後show window 的方法,沒實現。也想過用Mutex...........
解決方法:
近日,終於弄清楚了是怎麼個回事。原來用MFC寫的程序,會把桌面當作她的父窗口,而程序是建的模態對話框,想將其切換到父窗口前是不可能的,所以有兩種方法:
1.是createwindow作爲dialogbox的parent。
2.是把dialog的popup屬性改爲overlap,這個應該是最爲簡單的了。
現在一切運行正常,任務管理器也出現了程序,那個開心啊。
現在看看,竟然如此簡單,更改一下屬性就解決了。娃哈哈!!!
參考:http://social.microsoft.com/Forums/zh-CN/1729/thread/6e62b2db-6739-496c-b21f-5cb0ec21e31b/?ffpr=0