[英]Catching the button click event in other application
我想捕獲在Windows Form Application中單擊的按鈕的click事件,在應用程序A中說,我想在也是Windows Form Application的Application B中捕獲它。
我已經創建了兩個應用程序,並在應用程序A中添加了按鈕。現在在應用程序A中單擊按鈕時,我想在應用程序B中捕獲事件。
請指導。
沒有在不同進程之間共享.NET事件的“快速”方法。 您需要在引發該事件的同一應用程序中捕獲該事件,在應用程序A與應用程序B之間實現進程間通信機制(WCF,套接字等),並使用它將事件數據從A發送到B。
有關更多詳細信息,請參見此問題和相關答案: 偵聽另一個應用程序中的事件
您可以使用SetWinEventHook或WH_MOUSE_LL鈎(P / Invoke的)
(已在Windows 10和VS 2015上測試)
(也是IUIAutomationEventHandler,但更復雜)
我可以向您解釋,否則您將如何捕獲Button Click事件。
您可以在第一個窗體或可訪問的類中創建第二個窗體的實例,然后在您的第二個窗體或您的類中調用所需的公共方法。
示例表格1:
var _secondForm = new Form2();
private void Form1_Load(object sender, EventArgs e)
{
_secondForm.Open();
}
private void button1_Click(object sender, EventArgs e)
{
MethodInSecondForm()
}
和您的第二種形式:
public void MethodInSecondForm()
{
// Event here
}
您也可以在Class中創建此實例,並使其更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.