C 禁止應用程式同時執行的方法

2021-04-30 08:49:43 字數 2390 閱讀 8157

using

system;

using

system.collections.generic;

using

system.windows.forms;

namespace

singleprocessstart

//else//

//方法二,使用

api實現 /*

* 關於方法二的除錯

,需要注意的是要將專案

--屬性

--除錯

,選擇啟用外部程式

,選擇到你的

exe檔案

,然後先開啟你的

exe檔案 *

否則在除錯時

.net

缺省會使用

vshost.exe

的宿主程序

(宿主程序隨

.net

啟動而啟動

),而此宿主程序在外部無法啟用

,因此永遠是唯一的 */

system.diagnostics.process

p = getrunninginstance();

if (p != null) //

已經有應用程式副本執行

else

//啟動第乙個應用程式

} //

以下為方法二呼叫

api**

private

const

intws_hide = 0;//

視窗隱藏

private

const

intws_shownormal = 1;//

視窗處於正常狀態

private

const

intws_showmin = 2;//

視窗處於最小化狀態

private

const

intws_showmax = 3;//

視窗處於最大化狀態

//////

顯示視窗

//////

控制代碼///

顯示模式

///

[system.runtime.interopservices.dllimport("user32.dll")]

private

static

extern

bool

showwindowasync(intptr

hwnd, int

cmdshow);

[system.runtime.interopservices.dllimport("user32.dll")]

private

static

extern

bool

setforegroundwindow(intptr

hwnd);

//////

查詢視窗的控制代碼

//////

指向包含了視窗類名的空中止(

c語言)字串的指標;或設為零,表示接收任何類

///指向包含了視窗文字(或標籤)的空中止(

c語言)字串的指標;或設為零,表示接收任何視窗標題

///控制代碼

[system.runtime.interopservices.dllimport("user32.dll", entrypoint = "findwindow")]

public

static

extern

intfindwindow(string

classname, string

titlename);

//////

獲取應用程式程序例項

,如果沒有匹配程序,返回

null

//////

返回當前

process

例項public

static

system.diagnostics.process

getrunninginstance()

} return

null; }

//////

獲取應用程式控制代碼,設定應用程式前台執行,並返回

bool值

///

public

static

bool

handlerunninginstance(system.diagnostics.process

instance)

//////獲取視窗控制代碼,設定應用程式前台執行,並返回

bool

值,過載方法

//////

public

static

bool

handlerunninginstance()

return

false; }

} }

C 禁止應用程式多次啟動

經常我們會有這樣的需求,只讓應用程式執行乙個實體。通常我們的情況是,雙擊乙個exe檔案,就執行乙個程式的實體,再雙擊一次這個exe檔案,又執行這個應用程式的另乙個實體。就拿qq遊戲來說吧,一台電腦上一般只能執行乙個qq遊戲大廳 不過以前聽說過有雙開的外掛程式 那我們的程式也能像qq遊戲那裡禁止多次啟...

c 呼叫執行 exe應用程式

有的.exe可以直接呼叫 例如下面 中的wifi.exe 有時候不可以,我就想了個辦法,先生成.exe的快捷方式,然後呼叫快捷方式就可以了 例如下面 中的registration 整體 如下 include include include include include include includ...

Delphi XE讓應用程式同時只執行乙個的方法

如果想讓delphi應用程式在一台電腦上只執行一次,最便捷的方法就是建立互斥變數。在工程檔案中加入一下 進行改造就可以。varbegin endelse begin tstylemanager.trysetstyle slate classico frmsplash.show frmsplash.u...