开发者

why is this function failing?

开发者 https://www.devze.com 2023-01-10 12:31 出处:网络
I am trying to understand windows hooks by writing a few keyboard hooks. I have a function: bool WriteToFile(WPARAM keyCode, char * fileName)

I am trying to understand windows hooks by writing a few keyboard hooks. I have a function:

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;
}

...that i try to call from here but it almost always fails. Why?

LRESULT CALLBACK KbHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode > 0)
             {
                 WriteToFile(wParam,"log.tx开发者_如何学Pythont");  //this function always fails . Why 
             }
else return CallNextHookEx(hCurrentHook, nCode, wParam, lParam);
}


I think it's because you're trying to open a file called “filename”, rather than using whatever filename was provided. I assume you're writing a keylogger. It should read:

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;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消