Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从C++;服务_C++_Windows_Service_Login - Fatal编程技术网

C++ 从C++;服务

C++ 从C++;服务,c++,windows,service,login,C++,Windows,Service,Login,我正在尝试创建一个Windows服务,它可以通过编程方式将我的用户登录到本地的Windows 10 pc,就像我直接在键盘前打字一样。(我希望能够远程初始化我的会话) 我正在使用LogonUser,它会正确返回,但我永远不会看到用户在任务管理器中显示为已登录 这就是我现在尝试的: BSINFO(L"Login User..."); HANDLE sessToken = nullptr; BOOL bRes = LogonUserW( L"TestUser", L"."

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

这就是我现在尝试的:

  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());
  }

有什么办法吗

您是否试图从头开始重新实施远程桌面协议(即终端服务)?使用Windows终端会话涉及的内容要多得多。到目前为止,您拥有的是一个带有登录会话的令牌,我认为它与终端会话0(非交互式服务会话)关联。受信任的系统服务可以将这样一个令牌分配给另一个会话,例如,如果它需要在用户的交互会话中启动一个进程,但这与启动一个新会话并不相同。或多或少,我想开发自己的远程桌面,我想远程登录到我的计算机,然后我将流式传输我的桌面,一切正常,但我不知道如何远程交互式登录我的电脑:(
LogonUser
创建登录会话。这与创建交互控制台或终端会话无关,只是它返回的令牌将登录会话绑定到终端会话。有没有办法创建该控制台或交互桌面?