2013-02-19 26 views
1

這聽起來對我來說不合理,但我只是想我會問。提高另一個應用程序的Button_Click()事件

存在一個帶有按鈕的.NET應用程序。我無法編輯這個應用程序源,它是一個預先存在的應用程序。

我希望從我的應用程序中以編程方式提高該按鈕的點擊事件。

這可能嗎?

回答

0

該進程需要運行才能執行事件,例如按鈕單擊。此時,您有幾個選項可以提升按鈕點擊事件。

一種方法是IPC(進程間通信),在兩個程序之間使用套接字或管道。如果你喜歡這個選項,你也可以使用共享內存。

你基本上必須讓應用程序使用偵聽套接字或管道上的按鈕來發送請求。一旦收到,它就可以從那裏調用它自己的按鈕點擊事件。

關鍵是兩個進程都必須運行,並且您必須以某種方式向另一個進程發送一個信號,告訴它啓動其按鈕單擊事件。

+0

我不能編輯我想提出的...這就是爲什麼我認爲這是不可能的事件處理程序的應用程序的源首先。但感謝您的答案。 – Cheetah 2013-02-19 16:12:55

0

Mmmmmaybe ..

一旦友邦,有個名叫間諜++的應用程序。它允許你檢查一個窗口,看看性質,對象名稱等

間諜++已經被移植到.NET(見[此處輸入鏈接的描述] [1]

[1]:http://msdn.microsoft.com/en-us/magazine/cc163617.aspx)。你可以走了。

如果後面的「其他的ControlProxy方法」部分也規定:

「有幾個方法值得考慮看看在 ControlProxy的調用的SendMessage方法來發送一個窗口消息 。如果你想創建一個測試工具,這是非常有用的。對於 的例子,你可以發送WM_CLICK或者WM_KEYDOWN消息來模擬 輸入「。

當然它不是一個優雅的,也沒有穩定的做法:)

+0

我有權訪問源代碼,以便能夠找到按鈕名稱等....但「繁文」節「阻止我推出更改。 – Cheetah 2013-02-20 07:00:03

相關問題