【发布时间】:2011-03-31 16:30:37
【问题描述】:
我想用 C++ 程序启动卷影复制服务。这包括获取服务控制管理器 (OpenSCManager) 的句柄,使用它来获取服务句柄 (OpenService),然后启动服务 (StartService)。
但是,我必须将服务名称作为字符串传递给 OpenService 函数。 VSS 服务在我的德语 Windows Vista 上称为 Volumeschattenkopie。有没有办法以任何语言启动正确的服务?我以前没有使用过资源字符串,但是可以使用FindStringResourceEx 或类似的东西获得服务名称吗?
【问题讨论】:
-
您确定 Volumeschattenkopie 是 German Vista 上的 服务名称 吗?肯定是服务显示名,但是OpenService在寻找CreateService时使用的名字,可能没有本地化。
-
@Jon:谢谢!我懂了。如何找到服务的原始名称?
-
@Felix 进入服务控制面板,调出您感兴趣的服务的属性。它在顶部显示名称。在我的英文 win7 机器上,Volume Shadow Copy 的服务名称是 VSS
-
@Felix:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,可能是 VSS 左右... -
@Jon:确实你是对的。我能接受的答案怎么样?
标签: c++ localization windows-services