-
-
[旧帖]
按键精灵的SayString是怎么实现的
0.00雪花
-
发表于:
2015-12-21 12:14
5247
-
[旧帖] 按键精灵的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);
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)