C # или C ++ Как заставить программу работать при запросе пароля пользователя?

У меня такая проблема, мне нужно, чтобы моя программа запускалась при запросе пароля пользователя (когда компьютер включен). Я знаю, что существует класс RegistryKey как в C ++, так и в C #, но они заставляют программу запускаться при входе пользователя. Могу ли я это сделать?

2

Решение

Возможно, вы захотите взглянуть на функцию CreateService в MSDN:

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 Вы можете использовать НОЛЬ чтобы заставить его использовать учетную запись LocalSystem или любой из следующих: NT AUTHORITY \ LocalService или же NT AUTHORITY \ NetworkService. Чтобы узнать больше о том, что могут предложить разные аккаунты, прочитайте Сервисные учетные записи пользователей в MSDN.

Для lpPassword ты можешь использовать НОЛЬ если вы использовали любое из значений выше.

Для lpBinaryPathName Вы должны указать путь к файлу вашего сервиса.

Если вы не уверены в другом, вы должны взглянуть на образец кода «Базовый сервис Windows на C ++ (CppWindowsService)«в MSDN. Пример кода, вероятно, будет хорошей отправной точкой.

1

Другие решения

Спасибо всем, что я использовал службу Windows.

1

По вопросам рекламы [email protected]