Winapi SendMessage()函数问题

Winapi SendMessage()函数问题,winapi,Winapi,我知道我可以用 SendMessage(buttonHandle, BN_CLICK, 0, 0); 让我的程序(程序1)点击另一个程序(程序2)上的按钮,但我想知道是否有其他方法。我想点击程序2的按钮会弹出一个窗口 问题::SendMessage()函数中是否可以发送任何消息来直接打开该窗口,或者是否可以使用其他函数来执行此操作?自动化其他应用程序的可能方法包括: 伪造输入 向特定窗口发送消息 使用系统范围的自动化框架,如UI自动化 使用特定于应用程序的应用程序框架 您正在询问是否有可能

我知道我可以用

SendMessage(buttonHandle, BN_CLICK, 0, 0);
让我的程序(程序1)点击另一个程序(程序2)上的按钮,但我想知道是否有其他方法。我想点击程序2的按钮会弹出一个窗口


问题::SendMessage()函数中是否可以发送任何消息来直接打开该窗口,或者是否可以使用其他函数来执行此操作?

自动化其他应用程序的可能方法包括:

  • 伪造输入
  • 向特定窗口发送消息
  • 使用系统范围的自动化框架,如UI自动化
  • 使用特定于应用程序的应用程序框架

您正在询问是否有可能完成这些选项中的最后一项。这取决于应用程序。如果应用程序发布这样一个自动化接口,这是可能的。否则,您将看到其他选项之一

窗口弹出的唯一方式是程序2执行代码来创建它。这段代码可能只存在于按钮处理程序中。因此,不,没有其他消息可以让它发生。我是否可以以某种方式获取代码,然后通过程序1将其发送到程序2?
BN\u单击
不是可以发送到按钮HWND的有效消息。您正在考虑改为。关于第二个选项,我知道我可以使用SendMessage()将消息发送到特定窗口。。。但问题是,我想看看我是否可以发送一些类似函数的代码(open_window,ID…blahblah),而不是发送sendmessage(buttonhandle,BN_CLICK,0,0)。。。因此,我绕过了一起单击按钮,您需要应用程序公开这样的接口。是吗?我不相信,不。你不相信有办法将代码插入到另一个程序中来打开另一个窗口吗?(假设我们知道那是什么代码)那将是超级黑客。您还需要找到一种方法使代码在程序的主线程中运行。这很棘手,哈同意了。谁知道。。。也许有一天我会达到这个水平:P