2014-06-28 86 views
-1

我用C++編寫了一個小程序,可以將文本輸入到記事本文檔中,它使用的是FindWindow和FindWindowEx,但我只能這樣做,因爲我知道我的窗口名稱試圖訪問(在這種情況下,它是文檔的「記事本」和文本區域的「編輯」)。獲取外部程序句柄

如果我不知道名字,我該如何去弄清楚這些?假設我想讓文本出現在Chrome的URL框中,我怎麼知道這個框的名字是什麼,所以我可以使用FindWindowEx呢?

+0

也許使用'GetFocus'函數呢? http://msdn.microsoft.com/en-us/library/windows/desktop/ms646294(v=vs.85).aspx – YePhIcK

+1

Spy ++可能會幫助您縮小一點。 –

+1

GetWindowHandleByPID – Flz

回答

0

運行其他應用程序,然後使用Spy ++,Winspector等工具查看其他程序的窗口層次結構以找到您所需的內容。

2

自動化第三方應用程序最痛苦的方法是使用UI Automation。它允許您導航UI層次結構以及對各個對象進行操作。

所有本機窗口控件支持UI自動化開箱即用。 UI自動化還可以與框架一起使用,它們不使用本地控件(例如Qt)來實現它們的UI。特別是對於Qt,Spy ++等工具不會爲您提供所需的信息。