避免重複開啟應用程式 |
答題得分者是:hagar
|
m0210
一般會員 發表:31 回覆:29 積分:17 註冊:2002-08-23 發送簡訊給我 |
我使用下例方法,以避免重複開啟應用程式,但在設計時期按F9要RUN時,
會把設計時期的專案也當成了已經執行的應用程式,這樣非常麻煩,每次都還要關閉專案後再執行,各位大師可有方法可解? HprevInst:=FindWindow('TFMMAIN',Nil);
IF HprevInst<>0 Then
Begin
Showmessage('程式已經在執行中了');
Windows.SetFocus(HprevInst);
Windows.SetForeGroundWindows(HprevInst);
Exit;
end else
Begin
Application.Initialize;
Application.CreateForm(TFMMAIN,FMMAIN);
Application.Run;
End;
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
幫你Try了一下..
Application.Run 這一行改成這樣
FMMAIN.Show;
還有FMMAIN改為不要Auto-Create就可以了..
TRY TRY SEE.
引言: HprevInst:=FindWindow('TFMMAIN',Nil); IF HprevInst<>0 Then Begin Showmessage('程式已經在執行中了'); Windows.SetFocus(HprevInst); Windows.SetForeGroundWindows(HprevInst); Exit; end else Begin Application.Initialize; Application.CreateForm(TFMMAIN,FMMAIN); Application.Run; End; |
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
試試 Forms,Windows,Dialogs, SysUtils, <------
Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin
HprevInst:=FindWindow('TForm1',Nil);
IF HprevInst<>0 Then
Begin
Showmessage('程式已經在執行中了');
Windows.SetFocus(HprevInst);
Windows.SetForeGroundWindow(HprevInst); <-----
Exit;
end else
Begin
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
End; end. 發表人 - banson1716 於 2003/01/31 19:43:41
|
m0210
一般會員 發表:31 回覆:29 積分:17 註冊:2002-08-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |