我是vb中的complet noob我一直试图弄清楚如何将击键发送回我自己的应用程序,同时最小化/或专注于其他窗口。 我想我需要使用PostMessageA。我在论坛上看到它。但它对我来说就像中文。 我的目标是在100台电脑上运行这些小程序。他们只是在自己的应用程序中按一个键,一遍又一遍。 请有人帮助我。 感谢
我在想这样的事情
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CHAR As Long = &H102
PostMessage("notepad", WM_CHAR, "T", 1)
作为测试。我做错了什么
答案 0 :(得分:0)
有些事情,例如你在VB6论坛中找到了你的代码。从那时起,整数的大小发生了变化。 VB6中的Long
等同于VB.Net中的Integer
(see this Msdn link)。第二个问题是,您正在向String
提供PostMessage
所需的窗口句柄。我建议您查看有关如何Send strings to another application by using Windows messages
您的PostMessage
声明应如下所示。
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer