簡體   English   中英

在其他應用程序中捕獲按鈕單擊事件

[英]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。

有關更多詳細信息,請參見此問題和相關答案: 偵聽另一個應用程序中的事件

您可以使用SetWinEventHookWH_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM