2

我有这样的问题,我需要在询问用户密码时(打开计算机时)运行我的程序。我知道 C++ 和 C# 中都有一个类 RegistryKey,但是它们使程序在用户登录时启动。有什么我可以做到的吗?

4

2 回答 2

1

您可能想看看MSDN中的函数CreateService

SC_HANDLE WINAPI CreateService(
  _In_       SC_HANDLE hSCManager,
  _In_       LPCTSTR lpServiceName,
  _In_opt_   LPCTSTR lpDisplayName,
  _In_       DWORD dwDesiredAccess,
  _In_       DWORD dwServiceType,
  _In_       DWORD dwStartType,
  _In_       DWORD dwErrorControl,
  _In_opt_   LPCTSTR lpBinaryPathName,
  _In_opt_   LPCTSTR lpLoadOrderGroup,
  _Out_opt_  LPDWORD lpdwTagId,
  _In_opt_   LPCTSTR lpDependencies,
  _In_opt_   LPCTSTR lpServiceStartName,
  _In_opt_   LPCTSTR lpPassword
);

对于dwStartType使用SERVICE_AUTO_START

对于lpServiceStartName,您可以使用NULL使其使用 LocalSystem 帐户,或以下任何一种:NT AUTHORITY\LocalServiceNT AUTHORITY\NetworkService。要了解有关不同帐户可以提供什么的更多信息,请阅读MSDN 中的服务用户帐户

对于lpPassword ,如果您使用上述任何值,则可以使用NULL 。

对于lpBinaryPathName,您必须将文件路径放入您的服务。

如果您不确定另一个,您应该查看 MSDN 中的示例代码 A basic Windows service in C++ (CppWindowsService)。示例代码可能是一个很好的起点。

于 2013-10-08T08:05:45.343 回答
1

谢谢大家我用过windows服务。

于 2014-04-30T08:40:26.540 回答