維尼的蜂巢

RealTime??!! It’s amazing!!!!

避免程式被多重開啟 八月 29, 2008

Filed under: VC++/C++/C — kevinlin @ 4:03 下午

要避免程式被多重開啟,其實最簡單的是FindWindow,但是FindWindow只能找設定好的標題或者Class名字對固定的名稱有用,如果你的標題欄會變動的話那就只能投降了。

比較好的方法就是讓他們互斥…
只要在winmain下面加上這段

HANDLE m_hOneInstance;
m_hOneInstance = ::CreateMutex(NULL, FALSE, "MyProgram");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
    AfxMessageBox("已經開啟一個程式了");
    return false;
}

就只能開啟一次了…

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s