目前我有全局热键设置将文本框的内容粘贴到当前活动表单(浏览器)中。这些工作完全正常( CTRL + 0 - 9 ),但是我试图通过设置文本来反过来来自外部值的框值。最初我觉得这很容易,因为他们是全球热门我只是突出我想要的东西,然后按热键( ALT + 0 - 9 )它会发送SendKeys.Send(" ^ c"),然后设置TextBox.Text = Clipboard.GetText(),但这不会表现为期望并从我的代码/过去的剪贴板条目中返回看似随机的值。
我环顾四周,发现了各种不起作用的东西。重要的是要注意我将始终从当前活动窗口调用此全局热键,因此我不需要查找/设置活动窗口,只需发送 ctrl + C 命令并让它可靠地执行它。
感谢任何帮助,谢谢。
RegisterHotKey(Handle, 12, 0x0001, (int) Keys.D1);
case (12):
if (x.Text == "" || x.Text == @"YYYYYY")
{
//Window is in Focus and the text is already highlighted
SendKeys.SendWait("^c");
x.Text = Clipboard.GetText();
}
return;
奖励积分,我可以在做任何事情之前扩展剪贴板类以返回选择的计数吗?
编辑:
我尝试发送WM_COPY:
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
case (12):
if (x.Text == "" || x.Text == @"YYYYYY")
{
//Window is in Focus and the text is already highlighted
SendMessage(m.HWnd, 0x0301, (IntPtr)0, (IntPtr)0);
x.Text = Clipboard.GetText();
}
return;