在外部应用程序中捕获按钮的单击事件

时间:2013-01-30 07:09:07

标签: c# winforms ui-automation

我想知道是否点击了外部应用中的按钮。 在我不得不点击自己之前,我使用了以下代码:

//Get window
IntPtr wrapUp = Win32API.FindWindowByText(Win32API.GetDesktopWindow(), "WRAP-UP");
if ((int)wrapUp > 0)
{
    Win32API.SetFocus(wrapUp);
    IntPtr okButton = Win32API.FindWindowByText(wrapUp, "OK");
    Win32API.SetFocus(okButton);
    Win32API.PostMessage(okButton, Win32API.BM_CLICK, 0, 0);
}

但现在我需要知道用户何时点击该按钮。 有没有办法做到这一点?

我一直在搜索,我找到了几种方法来执行代码点击,但不是用于收听事件。

1 个答案:

答案 0 :(得分:0)

您可以使用SetWinEventHook设置事件挂钩函数并侦听EVENT_OBJECT_INVOKED,表示已调用对象(例如单击按钮)。