Windows サービス (0) セッションでサービスを実行しています。クライアントからの接続時に、特定のユーザー資格情報に対して新しい Windows セッションを作成し、そのユーザーにログインして、この新しいセッションでアプリケーションを開始する必要があります。
特定のユーザー資格情報に対してユーザー セッションをプログラムで作成する方法はありますか?
AFAIK、プログラムでセッションを作成することはできません。クライアントは、ターミナルサービスまたはリモートデスクトップを使用してマシンに接続する必要があります。ただし、プログラムでユーザーアカウントにログインし、画面に表示せずにそのユーザーとしてプロセスを実行する必要がある場合は、そのユーザーになりすますことができます。LogonUser()
とImpersonateLoggedOnUser()
、、、CreateProcessAsUser()
またはを見てくださいCreateProcessWithLogonW()
。