C#中怎么样记录用户对程序的所有的操作日志?
比如点击鼠标、键盘输入,甚至于记录界面中的每个控件的变化情况。哪位高人指点一下啊?

解决方案 »

  1.   

    可以使用hook技术来记录对键盘的操作
      

  2.   

    如果程序你是写的,那你在每个窗体中重载如下函数
    public override bool PreProcessMessage( ref Message msg ) 
    {
    //Write log file here using "msg"
    return base.PreProcessMessage(ref msg); 
    }
      

  3.   

    不行
    每个窗口都要写
    public override bool PreProcessMessage( ref Message msg ) 
    这个函数但是
    //Write log file here using "msg"
    这部分,你可以写在一个Static方法里,以供所有窗口调用。
      

  4.   

    记录日志有一个比较好的open source的项目:log4net,你可以搜索到