全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1330
推到 Plurk!
推到 Facebook!

請問於 DOS BOX 執行一個程式 如何使其焦點返回

尚未結案
ufjjc
一般會員


發表:18
回覆:47
積分:23
註冊:2002-05-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-16 18:54:59 IP:220.130.xxx.xxx 未訂閱
於 DOS BOX 執行一個外部程式,此外部程式為頂層視窗 , 請問在不關閉外部程下,如何使其焦點返回 DOS BOX .    
var
   hw ,hwi:HWnd;
   params: string;
   i: integer;
   bret : boolean;
{$R *.res}    begin
  Application.Initialize;
  Application.Title := 'Exec';
  Application.CreateForm(Tfrorm, form);
  Application.Run;
  
  
  hw := FindWindow(nil,'C:\WINNT\System32\cmd.exe');
  if hw <> 0 then begin
      
     // 以下無法返回 焦點
      //  ShowWindow(hw,SW_SHOWDEFAULT);
      SetForegroundWindow( hw );
      SetActiveWindow(hw);
      SetFocus(hw);
      
   end;    end.  
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-17 03:34:04 IP:203.204.xxx.xxx 未訂閱
您好: FindWindows是找視窗的Title名稱,因此 hw := FindWindow(nil,'C:\WINNT\System32\cmd.exe'); 改成 hw := FindWindow(nil,'命令提示字元'); 這樣就可以了.
ufjjc
一般會員


發表:18
回覆:47
積分:23
註冊:2002-05-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-17 12:13:24 IP:220.130.xxx.xxx 未訂閱
hw := FindWindow(nil,'命令提示字元'); 有找到 handle ,不過對於 執行頂層視窗的程式後(此程式執行未結束), 還是無法返回 (win9x) dosbox 或 (win2k/xp) cmd 視窗 ,設其為焦點.
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-17 12:39:34 IP:203.204.xxx.xxx 未訂閱
您好: 請把程式碼放入From OnAvtivate中,您放在dpr中,那時候您程式的form並還沒有秀出來,因此他會將Dos Box設為焦點後,又將From設為焦點,因此Dos Box便會在您程式的後方而不會在最前方了.
ufjjc
一般會員


發表:18
回覆:47
積分:23
註冊:2002-05-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-17 16:51:12 IP:220.130.xxx.xxx 未訂閱
謝謝 supman r 執行一個外部程式(是一個 只執行一次的程式 ,不重複執行的程式 ) 第一次執行時 於From OnAvtivate ,DOSBOX 的焦點 會返回. 第二次執行時 DOSBOX 的焦點 就不會返回.
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-17 17:44:17 IP:203.204.xxx.xxx 未訂閱
第二次執行時 DOSBOX 的焦點 就不會返回. 看不董您所說的,這句話是甚麼意思???程式一執行不就會讓DOS Box得到焦點了??所以不管執行幾次DosBox都一定會在第一次執行時得到焦點,當然您如果後來去碰了其他介面一下DosBox焦點自然不見. 如果您要讓Dos Box一直都在最上層,您可以放一個Timer讓他一直得到焦點. 如果您要要某各動作去觸發DosBox得到焦點,請寫把他寫成程序,在您認為應該觸發時去呼叫那個程序. 發表人 - supman 於 2005/04/17 17:48:08
ufjjc
一般會員


發表:18
回覆:47
積分:23
註冊:2002-05-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-17 18:12:51 IP:220.130.xxx.xxx 未訂閱
謝謝 supman r      已經可以了,換一種思考實在是太好了.    
系統時間:2024-05-05 5:27:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!