用GetModuleFileName(NULL, MFileName, MAX_PATH);
或GetModuleFileName(AfxGetInstanceHandle(), MFileName, MAX_PATH);取不到。
请问有什么办法可以取到作为服务运行的程序路径?谢了。

解决方案 »

  1.   

    GetCurrentDirectory(MAX_PATH, MFileName);
    还是取不到,但在普通的程序下能取到
      

  2.   

    这个可能需要使用远程DLL导入技术才能实现,可以参考windows核心编程中的DLL部分,其中的参考程序或许能满足你的需要!
      

  3.   

    非常感谢各位的帮助。
    用GetModuleFileName(NULL, MFileName, MAX_PATH);
    或GetModuleFileName(AfxGetInstanceHandle(), MFileName, MAX_PATH);
    取到的是服务程序所在绝对位置。用GetCurrentDirectory(MAX_PATH, MFileName);
    取到的是C:\WINDOWS\system32。