-
-
[旧帖]
按键精灵的SayString是怎么实现的
0.00雪花
-
发表于:
2015-12-21 12:14
5248
-
[旧帖] 按键精灵的SayString是怎么实现的
0.00雪花
小弟编程新手,最近接触到按键精灵,发现按键精灵的SayString命令很无敌,想知道实现的原理,不吝赐教,谢谢。
下面代码在记事本可以,但是在某些地方是不可以的,然而按键精灵的SayString命令是可以的
HWND wnd;
wnd=GetForegroundWindow();
DWORD SelfThreadId=GetCurrentThreadId();
DWORD ForeThreadId=GetWindowThreadProcessId(wnd,NULL);
if(!AttachThreadInput(ForeThreadId,SelfThreadId,true))
{
return 0;
}//附加线程
wnd=GetFocus();//获取具有输入焦点的窗口句柄
if(!::IsWindow(wnd))
{
return 0;
}
AttachThreadInput(ForeThreadId,SelfThreadId,false);
return ::SendMessage(wnd,WM_CHAR,(WPARAM)'w',0);
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课