2010-11-23 28 views
0

我正在創建一個自定義軟輸入面板並希望找到插入符的位置。如果它覆蓋輸入文本的位置,我可以將SIP移開。在Windows CE中查找插入符號的屏幕位置。 (相當於GetGUIThreadInfo?)

這聽起來像在Windows中這樣做的方式將與GetGUIThreadInfo()。但是,似乎API在Windows CE(特別是CE 6.0 R3)中不受支持。

是否有其他方法可以找到相同的信息?一種確定活動窗口和文本輸入的方法?

謝謝!

回答

0

插入符只應顯示在具有焦點並處於活動狀態的窗口上。如何像:

POINT cp; 
GetCaretPos(&cp); // in client coordinates 
HWND hActive=GetActiveWindow(); 

如果你需要更多的信息(如特定的子窗口),你可以把由GetCaretPos()返回到屏幕座標點,然後用WindowFromPoint()轉換回一個特定的(子)窗口處理。

+0

Corey,這是前一陣子,我正在處理這個問題,但是IIRC之所以無法使用像你這樣的解決方案,是因爲在Windows-CE 6.0上GetCaretPos失敗,如果你不在同一個進程中擁有這個脫字符的窗口。由於我試圖從SIP訪問這些信息,因此我無法使用這種方法,因爲我試圖在不同的過程中找到脫字符的位置。 – eoldre 2011-02-08 21:02:13

相關問題