Windows从C ++服务登录

时间:2018-03-11 20:44:47

标签: c++ windows service login

我正在尝试创建一个Windows服务,能够以编程方式将我的用户登录到我的本地Windows 10 PC,就像我直接在键盘前键入一样。 (我希望能够远程初始化我的会话) 我正在使用LogonUser并且它正常返回,但我永远不会看到用户在任务管理器中显示为loged in。

这就是我现在尝试过的:

  BSINFO(L"Login User...");
  HANDLE sessToken = nullptr;
  BOOL bRes = LogonUserW(
    L"TestUser",
    L".",
    L"1234",
    LOGON32_LOGON_INTERACTIVE,
    LOGON32_PROVIDER_DEFAULT,
    &sessToken);
  if (bRes)
  {
    PROFILEINFO profInfo;
    ZeroMemory(&profInfo,sizeof(PROFILEINFO));
    profInfo.dwSize = sizeof(PROFILEINFO);
    profInfo.lpUserName = L"TestUser";
    profInfo.lpServerName = L"";
    bRes = LoadUserProfileW(sessToken,&profInfo);
    if (!bRes)
    {
      DWORD dwError = GetLastError();
      BSERROR(L"Error LoadUserProfileW. %d '%ls'", dwError, GetLastErrorW(dwError).c_str());
    }
  }
  else
  {
    DWORD dwError = GetLastError();
    BSERROR(L"Error login user. %d '%ls'", dwError, GetLastErrorW(dwError).c_str());
  }

有可能吗?

0 个答案:

没有答案