為了不讓User能同時打開兩個程序,也就是防止程序的二次運行.
所以如果User已開啟該程序,再點exe文件,就Restore已有的窗口.我是findWindow(),找到了已有窗口的handle.然後用ShowWindow(handle,SW_Restore),顯示該窗口.
實際情況如下:
打開該程序,然後最小化到系統托盤,再運行該程序,按理說應該顯示出該窗口.可是它只是閃一下,並不是出現在屏幕上.
我查了網上的資料,有人說是因為程序沒有圖標化,所以showWindow不能恢復該窗口,可怎麼才能讓程序圖標化?
備註:我也試過SetForegroundWindow(handle)了,沒效果,據說這個在98系統下才有效.請各位幫幫忙,多謝,多謝

解决方案 »

  1.   

    看看这篇文章对你有没有帮助:
    http://blog.csdn.net/linzhengqun/archive/2005/12/29/564646.aspx
      

  2.   

    呵呵,謝謝,看起來好複雜喔,我是菜鳥,共享內存什麼的都不懂
    有沒有簡單的方法可以取得已運行的application的handle的?
    比如說我能用findwindow找到窗口的handle,用窗口的handle能否得知application的handle?
      

  3.   

    能詳細點不?
    我不知道第一個程序的handle阿?怎麼sendmessage?
      

  4.   

    謝謝大家.
    zhuminghua你給我的網址很好喔,解決了我的問題
    雖然我有些地方不大明白,呵呵,還得研究