C 中使用事件只啟動乙個例項

2021-05-28 02:32:27 字數 718 閱讀 7533

現有乙個程式,只能啟動乙個例項:啟動時,如果檢測到例項已啟動,則啟用並顯示到最前端;否則啟動乙個新的例項:

為此可以通過事件實現。

// 判斷是否已啟動

bool isformexists(form frmowner_, string strevent_)

catch (waithandlecannotbeopenedexception)

// 第乙個例項,建立事件,並啟動執行緒

ehandle = new eventwaithandle(false, eventresetmode.manualreset, strevent_);

thread thrrestore = new thread(new parameterizedthreadstart(restoreform));

thrrestore.isbackground = true;

formparam stparam = new formparam();

stparam.frmowner = frmowner_;

stparam.ehandle = ehandle;

thrrestore.start(stparam);

return false;

}delegate void delnonparam();

void restoreform(object oparam_)));

}}catch      

}

使用事件丟擲乙個值

有時候用乙個事件來丟擲乙個特定的值是非常有用的。例如我們可能想讓元件決定它的文字要放大多少。有的時候用乙個事件來丟擲乙個特定的值是非常有用的。例如我們可能想讓元件決定它的文字要放大多少。這時可以使用 emit的第二個引數來提供這個值 enlarge text 然後當在父級元件監聽這個事件的時候,我們...

linux 只啟動乙個程序例項

很多應用程式都只應該啟動乙個執行例項,特別是設計檔案io操作的程式,如果誤啟動了多個例項,可能會導致混亂的io,進而導致檔案寫亂。常見的做法 1.生成pid檔案 這種做法最常見了,應用於大多數的linux程式,如apache httpd,mysql。思路是配置乙個pid檔案,當程式啟動時,對pid檔...

讓程式只執行乙個例項(C )

通常我們會遇到這樣的情況,讓程式只執行乙個例項,比如啟動防毒軟體時,只能啟動乙個,再啟動的話就沒什麼效果!利用程式名來判斷不是乙個好辦法,如果我們把程式名稱改一下就可以執行兩個完全一樣的程序。我們最好利用程式集的attribute存放特定資訊,然後用assembly物件的getcustomattri...