c++ - GetCurrentDirectory 并没有真正返回可执行文件的路径

标签 c++ service windows-services

我正在使用 C++ 将程序编码为服务,当我将其作为普通程序进行测试时,函数 GetCurrentDirectory 返回正确的路径。但是当我尝试将我的程序安装为服务时,GetCurrentDirectory 返回 C:\Windows\System32 而不是可执行文件的路径。

如何以适用于服务的方式获取我的可执行文件的路径?

最佳答案

Windows 服务的工作目录始终是 %WINDIR%\System32

要获取可执行文件所在的目录,只需调用 GetModuleFileName hModule 参数为 NULL,并手动剥离可执行文件名称。

关于c++ - GetCurrentDirectory 并没有真正返回可执行文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40841907/

相关文章:

android/iphone - 后台进程或服务可以注入(inject)代码或读取前台应用程序中的变量吗?

caching - 缓存 DataContractSerializer 实例是个好主意吗?

c++ - 如果没有管理员权限,我应该把 freeglut.dll 放在哪里?

java - android应用程序之间如何通信

c++ - 如何检测rgb图像格式真的是灰色的?

wpf - WCF如何检测客户端是否存在

wcf - 初学 Windows Service/WCF 和前端 GUI 实现问题

wcf - 使用NetTcpBinding创建WCF服务时,使用端点“localhost”还是计算机的主机名?

c++ - 具有多重继承的复制赋值运算符

c++类型转换运算符重载和隐式转换