gpt4 book ai didi

c - 为什么这个功能失败了?

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:13 25 4
gpt4 key购买 nike

我试图通过编写一些键盘 Hook 来理解 Windows Hook 。我有一个功能:

bool WriteToFile(WPARAM keyCode, char * fileName)
{
ofstream fout("filename");
if(fout.is_open())
{
if(keyCode>=0x030 && keyCode<0x039)
fout<< (keyCode - 0x030);
fout.close();
return true;
}
else fout.close();
return false;
}

...我尝试从这里调用,但几乎总是失败。为什么?

LRESULT CALLBACK KbHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode > 0)
{
WriteToFile(wParam,"log.txt"); //this function always fails . Why
}
else return CallNextHookEx(hCurrentHook, nCode, wParam, lParam);
}

最佳答案

我认为这是因为您试图打开一个名为“文件名”的文件,而不是使用提供的任何文件名。我假设你正在写一个键盘记录器。它应该是:

bool WriteToFile(WPARAM keyCode, char * fileName)
{
// cause output to go to the end of the file by using ios_base::app
ofstream fout(fileName, ios_base::app);
if(fout.is_open())
{
if(keyCode>=0x030 && keyCode<0x039)
fout<< (keyCode - 0x030);
fout.close();
return true;
}
else fout.close();
return false;
}

关于c - 为什么这个功能失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3411624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com