![](/img/trans.png)
[英]How can I get a list of installed fonts on Windows, using unmanaged C++?
[英]How can I get the installed directory for a C++ Windows Service?
我有一个C ++ Windows服务,我想访问与该服务的可执行文件位于同一目录的可执行文件(通过系统功能)。 我想象要这样做,我将需要找到该目录,以便可以引用目标可执行文件的路径。 如何在代码中找到安装服务的目录?
正如其他人提到的那样, GetModuleFileName()
可以完成此工作,但YMMV可以。 最可靠的方法是从注册表项HKLM\\System\\CurrentControlSet\\Services\\%ServiceName%\\ImagePath
中读取此信息,其中%ServiceName%
是服务的名称。
对于用C读取注册表的示例++检查这个出来。
祝好运!
您可以使用QueryServiceConfig()函数。 二进制文件的路径存储在QUERY_SERVICE_CONFIG结构的lpBinaryPathName字段中。
要看。
如果来自服务内部,则始终可以使用GetModuleFileName
,它会生成完全限定的路径。
如果来自另一个程序,则由于它是服务,因此您可以检查服务的注册表信息。
您可以使用GetModuleFileName函数。 请参阅“ 安装服务”示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.