線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1485
推到 Plurk!
推到 Facebook!

如何知道輸入法的浮動視窗出現了

尚未結案
crop
一般會員


發表:33
回覆:9
積分:8
註冊:2004-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-08 12:10:12 IP:140.122.xxx.xxx 未訂閱
在做輸入時,會出現 shift 數字鍵 的浮動視窗 想請問如何利用程式偵測視窗是否有出現.. 感謝
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-08 13:59:36 IP:203.73.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject);
var
    hCurrentWindow: HWnd;
    szText: array[0..254] of char;
    sText : String;
begin
  //取Active window
  try
  hCurrentWindow := GetWindow(Handle, GW_HWNDFIRST);
  while hCurrentWindow <> 0 do
    begin
      if (GetWindowText(hCurrentWindow, @szText, 255) > 0) and
         IsWindowVisible(hCurrentWindow) then
         // 把系統 和 自己 過濾掉
         if  (StrPas(@szText) <> 'Program Manager')and(StrPas(@szText) <> 'PasteDoc') then begin
           sText := StrPas(@szText);
           if (Pos('PHON',sText)>0) then
             showmessage('有浮動視窗');
         end;
      hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
    end;
  except
    on e: Exception do;
  end;
end;
主要是這個浮動視窗的Handle 名稱是PHON ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始 發表人 - shinjie 於 2005/09/08 14:02:32
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
crop
一般會員


發表:33
回覆:9
積分:8
註冊:2004-07-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-12 15:15:28 IP:140.122.xxx.xxx 未訂閱
您好..很感謝您的幫忙 還有個問題 就是" PHON" 是浮動視窗的名字 是從哪個地方看出來的.. 謝謝
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-12 15:28:16 IP:220.134.xxx.xxx 未訂閱
引言: 您好..很感謝您的幫忙 還有個問題 就是" PHON" 是浮動視窗的名字 是從哪個地方看出來的.. 謝謝 < face="Verdana, Arial, Helvetica"> 比較有開輸入法跟沒有開輸入法時的Active window。 程式跟上面的一樣,只是輸出到一個列表,再比較一下就可以了。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
系統時間:2024-04-30 11:22:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!