C#中调用win32api编程的时候老是失败,
比如设置钩子,枚举进程等等.
是不是.net平台支持底层api不够完全?
知道的请说一下
谢谢

解决方案 »

  1.   

    用.Net的调用Hook是个不好实现的问题,因为它的Dll不是真正意义上的DLL,尤其是实现全局Hook的时候。全局Hook是要写到一个Dll中的,而这个Dll要是一个像C++写的非托管的DLL才行。
    如果不是全局的Hook倒是可以做。不过我感觉这样意义不是很大。
      

  2.   

    另如果是枚举进行则可以不用API,用.NET本身提供的类就可以了。可以像如下来使用:
    foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
    {
        System.Console.WriteLine(p.ProcessName);
    }