【发布时间】:2021-01-16 21:11:59
【问题描述】:
我编写了一个小型 c# 应用程序,通过 WhatsApp 的“点击和聊天”功能向我的亲戚发送消息。
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);
private void webBrowser(string URL)
{
WebBrowser webBrowser2 = new WebBrowser();
webBrowser2.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
webBrowser2.Navigate(URL);
}
private void button1_Click(object sender, EventArgs e)
{
string s = HttpUtility.UrlEncode("https://www.funda.nl//koop/berkhout/huis-41021218-bobeldijk-26/").Replace(@" href=/", "") + "\n");
webBrowser("https://wa.me/1234567 + "?text=" + s);
}
Process bProcess = Process.GetProcessesByName("WhatsApp").FirstOrDefault();
if(bProcess != null)
{
IntPtr p = bProcess.MainWindowHandle;
SetForegroundWindow(p);
SendKeys.Send("{ENTER}")
}
以上 工作一半。它会在我的计算机上打开 WhatsApp 应用程序并将消息放入框中,但消息不会自动发送,因此显然 SendKeys 命令不起作用。如果我尝试使用 SendKeys 命令发送文本和输入键,例如“记事本”工作正常。 所以实际上我正在寻找一种自动化Whattapp“发送”命令的方法,这样消息就会自动发送。
由于 Windows 10 不允许发送密钥,我已更改注册表
**Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA 为 0
我尝试过的不是上面的 SendKeys
const int WM_KEYDOWN = 0x100;
const int WM_KEYUP = 0x101;
const Int32 VK_RETURN = 0x0D;
PostMessage(p, WM_KEYDOWN, new IntPtr(VK_RETURN), new IntPtr(0));
PostMessage(p, WM_KEYUP, new IntPtr(VK_RETURN), new IntPtr(0));
不幸的是,两者都不起作用。 有谁知道如何自动发送“点击聊天”消息而无需手动点击“发送”按钮?
【问题讨论】: