2

我正在使用 VB6 尝试在第三方应用程序的子菜单中选择菜单项。我可以获得要单击的菜单项的 ID,但现在我不确定如何实际单击按钮以运行相关操作。到目前为止,这是我的代码:

hwnd = FindWindow(psClassname, vbNullString)
If hwnd > 0 Then
Call SetForegroundWindow(hwnd)
mwnd = GetMenu(hwnd)
sub_menu = GetSubMenu(mwnd, 0)
button_ID = GetMenuItemID(sub_menu, 0)

Call SetFocus(button_ID)

我得到错误:

参数数量错误或属性分配无效

我也尝试过使用:

Call SendMessage(button_ID, BM_CLICK, 0, 0)

但这也不起作用。任何想法将不胜感激!

4

1 回答 1

3

如果您有菜单项的 ID,您只需向WM_COMMAND其父项发送/发布一条包含该 ID 的消息。例如:

Private Const WM_COMMAND As Long = &H111

SendMessage hwnd, WM_COMMAND, button_ID, ByVal 0&
于 2015-07-22T18:17:22.733 回答