請問如何呼叫外部程式且不重複開啟 |
尚未結案
|
tommyli0913
一般會員 發表:9 回覆:19 積分:5 註冊:2004-02-02 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi TommyLi0913 你好:
procedure TForm1.Button1Click(Sender: TObject); var MyHandle : THandle; begin MyHandle := FindWindow(nil,'未命名 - 小畫家'); if MyHandle <> 0 then begin //BringWindowToTop(MyHandle); ShowWindow(MyHandle, SW_SHOW); end else begin WinExec(PChar('mspaint.exe'), SW_SHOW); end; end;我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
tommyli0913
一般會員 發表:9 回覆:19 積分:5 註冊:2004-02-02 發送簡訊給我 |
各位先進大大,您們好:
其實目前我也是用Window handle 去判斷程式是否存在,跟Miles大大是雷同的,而我是用"SetWindowPos" 函數去呼叫的,一開始想說就將就這用,但卻發現一個bug,即當小畫家程式顯示在最上層再給他最小化後,從此就無法將小畫家程式呼叫出來了,必須將我的程式重新執行,才能將小畫家程式再次呼叫出。(這裡若小畫家程式是沒執行的,是都可以working的),所以才想看看有何種簡單又可正常執行的函數來使用。
我的程式如下:
procedure TForm1.Button1Click(Sender: TObject);
var Hw : THandle;
begin
Hw:= FindWindow(nil,'未命名 - 小畫家');
if Hw <> 0 then
SetWindowPos(MyHandle, HWND_TOP, 0, 0, 0, 0, 3)
else
ShellExecute(Application.Handle, 'open','mspaint.exe',nil, nil, SW_ShowNormal );
end;
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: 各位先進大大,您們好: 其實目前我也是用Window handle 去判斷程式是否存在,跟Miles大大是雷同的,而我是用"SetWindowPos" 函數去呼叫的,一開始想說就將就這用,但卻發現一個bug,即當小畫家程式顯示在最上層再給他最小化後,從此就無法將小畫家程式呼叫出來了,必須將我的程式重新執行,才能將小畫家程式再次呼叫出。(這裡若小畫家程式是沒執行的,是都可以working的),所以才想看看有何種簡單又可正常執行的函數來使用。 我的程式如下:tommyli0913您好:试试看 ——行径窄处,留一步与人行—— ——procedure TForm1.Button1Click(Sender: TObject); var Hw : THandle; begin Hw:= FindWindow(nil,'未命名 - 小畫家'); if Hw <> 0 then begin SetWindowPos(Hw, HWND_TOP, 0, 0, 0, 0, 3); if IsIconic(hW) then//如果最小化,將它打開 ShowWindow(hW, SW_RESTORE) end else ShellExecute(Application.Handle, 'open','mspaint.exe',nil, nil, SW_ShowNormal ); end; |
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
|
tommyli0913
一般會員 發表:9 回覆:19 積分:5 註冊:2004-02-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |