Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi GetAsyncKeyState在系统启动时不工作_Winapi_Registry_Windows 7 X64 - Fatal编程技术网

Winapi GetAsyncKeyState在系统启动时不工作

Winapi GetAsyncKeyState在系统启动时不工作,winapi,registry,windows-7-x64,Winapi,Registry,Windows 7 X64,今天,我正在构建一个简单的键盘记录器应用程序(不,不,不,不,不,不是为了你所想的…)。我使用的是GetAsyncKeyState(我知道我应该使用SetWindowsHookEx,但这方面的好教程不多——我很喜欢WinApi),在autostart上启动程序时遇到问题。我正在将它添加到适当的注册表中,一切正常(程序在启动时启动),但GetAsyncKeyState无法读取任何键(如果我手动启动它,它就会正常工作)。缩短代码: HWND Stealth; if(!AllocConsole()){

今天,我正在构建一个简单的键盘记录器应用程序(不,不,不,不,不,不是为了你所想的…)。我使用的是GetAsyncKeyState(我知道我应该使用SetWindowsHookEx,但这方面的好教程不多——我很喜欢WinApi),在autostart上启动程序时遇到问题。我正在将它添加到适当的注册表中,一切正常(程序在启动时启动),但GetAsyncKeyState无法读取任何键(如果我手动启动它,它就会正常工作)。缩短代码:

HWND Stealth;
if(!AllocConsole()){
    Sleep(1000*5); 
}
while((Stealth = FindWindowA("ConsoleWindowClass", NULL))==NULL){
    Sleep(1000*5);
}
//ShowWindow(Stealth,0);
char i;
while (keylogger->working){
    for(i = 8; i <= 190; i++){
        if (GetAsyncKeyState(i) == -32767){
                         cout << i << endl; // No output here

}}}
HWND隐身;
如果(!alloconsole()){
睡眠(1000*5);
}
while((隐形=FindWindowA(“ConsoleWindowClass”,NULL))==NULL){
睡眠(1000*5);
}
//显示窗口(隐形,0);
char i;
同时(键盘记录器->工作){

for(i=8;iGetAsyncKeyState()仅适用于调用进程的键盘状态。如果您打算在其他进程中捕获击键,则需要使用SetWindowsHookEx()相反,您的钩子必须实现为DLL,这样才能将其注入其他进程。

您没有告诉我们您是如何从windows资源管理器启动恶意软件程序的。我很困惑。首先,您说您正在使用自动启动。现在您说您是从资源管理器启动的。是哪一个?我知道您是asking我是如何以正常方式启动它的-但如果它用于autostart,我只需重新启动计算机-正如我认为我应该测试它在autostart中的工作方式:)我不知道你在说什么这难道不意味着这根本不应该工作吗?如果从windows资源管理器手动启动,它实际上可以工作-当它与windows一起启动时,它停止工作(通过autostart)