我把一段文字存入剪切版,然后找到光标所在窗口,利用热键发送WM_PASTE消息。我发现当光标在IE的地址栏,纪事本等位置时可以成功,但是光标在word或者Outlook等地方时就没有反应。请问如何模拟ctrl+V的这一过程,使我所注册的系统热键,也能够将文字发送到所有窗口,谢谢。
解决方案 »
- 关于MFC打印机打印的问题
- 下周走人,散分
- 编译怎么会出现这样问题?
- Windows 2000 中如何对用户管理器进行操作--在线等待
- 当我们按下ALT+TAB的时候,系统收到的是怎样的消息?我想用自己的程序去模拟ALT+TAB,结果没作用。求教!
- 以知一个精确时间(年.月.日.时.分.秒),如何根据输入的秒数,精确计算出新的时间时间? 如何比较两个精确时间的大小?
- 有人熟悉DB2吗?
- 关于《Vc++技术内幕》
- 调用DeleteAllItems()发生错误
- 如何把CString强制转换为long或int类型数据呢?
- CBCGPEditCtrl如何更新显示在视图上,不出现乱码?!!恳请指教!
- 没有找到 MFC42D.DLL,虽然我知道可以用静态Release解决,但不知为什么此次不行,,
WM_COPYDATA
keybd_event(VK_P,0,0,0);
坏[长期潜水中,勿扰]
等 级:
发表于:2008-01-14 16:20:261楼 得分:0
试试这个消息
WM_COPYDATA 貌似不行。
Mackz
在相互
等 级:
发表于:2008-01-14 18:05:052楼 得分:0
不同程序处理的消息可能不一样。 可是在word,OE这种地方ctrl+v是管用的阿。
jinghao666666
高手是写出来的!!!
等 级:
发表于:2008-01-14 20:09:273楼 得分:0
你定义的热键跟word有冲突没有?
肯定没有的。
jh2005
等 级:
发表于:2008-01-14 21:41:594楼 得分:0
keybd_event(VK_CONTROL,0,0,0);
keybd_event(VK_P,0,0,0);
兄台什么意思?
sjdev
着意寻香不肯香,香在无寻处.
等 级:
发表于:2008-01-14 21:44:445楼 得分:0
SendMessage(hWnd, WM_PASTE,0,0); 如果是要发送到多个窗口的话,按照窗口Handle进行循环。
没有太明白的说。
{
HWND hwnd1 = ::GetForegroundWindow(); DWORD ThreadId1,ThreadId2,ProcessId2; // Get thread ID of spercific window
ThreadId2 = ::GetWindowThreadProcessId(hwnd1,&ProcessId2); // Get thread ID of current thread
ThreadId1 = ::GetCurrentThreadId(); // Binding the input of two thread
::AttachThreadInput(ThreadId1,ThreadId2,TRUE); // Get input focus
HWND hwnd = ::GetFocus(); ::SendMessage(hwnd, WM_PASTE, 0, 0);
}