2010-08-11 78 views
1

嘿,我一直在尋找在谷歌,我似乎無法找到有關定位在C#中不同的窗口什麼,我使用Visual Studio 2010中針對不同的窗口C#

我不知道如何做到這一點,但我很確定它可以完成,有誰知道我可以在哪裏讀到它?

我需要能夠針對不同的程序(如notpad),並模擬按鍵。

謝謝。

+4

就像Google一樣,我也不知道你在說什麼。 – leppie 2010-08-11 17:32:22

+0

我不太清楚你的目標是針對不同的窗口? >。> – 2010-08-11 17:32:48

+0

有關您正在嘗試執行的操作的更多詳細信息,請... – Nate 2010-08-11 17:37:12

回答

2

如果你的意思是與不同的窗口進行交互(可能是不同進程的一部分),通常你會得到一個窗口句柄(可以用很多方式完成),然後你可以發送消息並從那些消息中獲取數據到那些窗戶把手。

例如,請參閱SendMessage,您可以從您的C#應用​​程序中調用它。

如果您想獲得有關在這些窗口中發生特定事件的更新,那麼您可以使用Windows掛鉤。

+0

是的,我的意思是在PC上運行的其他東西,我只需要瞄準它。 – Crazyd22 2010-08-11 17:42:28

+0

@ Crazyd22:根據我上面的回答。如果你想得到更具體的答案,你需要更具體地說明你想用這個窗口做什麼。 – 2010-08-11 19:08:35

+0

基本上,當他們點擊一個按鈕時,我希望它定位到另一個窗口(例如記事本),並寫入一些文本(模擬按鍵)。 – Crazyd22 2010-08-11 22:06:58

0

我打算假設你在WinForms(同樣適用於WPF,雖然略有不同)。

在你的項目,你有

Form1 
Form2 
Form3 

在你Form1類的頂部,你定義了這個代碼:

Form2 frm2; 
Form3 frm3; 

假設Form1將你的啓動對象添加爲「顯示窗體2」按鈕和「Show Form3」

在各自的代碼後面添加類似這樣的代碼

frm2 = new Form2(); 
frm2.Show(); 

frm3 = new Form3(); 
frm3.Show(); 

相同的概念適用於WPF。如果您嘗試在應用程序之外使用窗口進行操作,那麼SendMessage Windows API可能是您需要研究的內容。

+0

我的意思是一個程序,我不擁有,其他運行PC。 – Crazyd22 2010-08-11 17:41:36