1

ウィンドウサービスを利用して画面をロックしたい。私のOSはwin 7で、サービスにいくつかの権利の問題があることを知っています。そのため、次の実験を行いましたが、実験はどれもうまくいきませんでした。

新しい exe ファイルを作成し、LockWorkStation 内で呼び出しました。手動で画面をロックしますが、サービスからこの exe を呼び出すと、アクセスが拒否されます。

ここに私のサービス内の発信者コードがあります

if (CreateProcess(folder.c_str(),NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
{
        ::WaitForSingleObject(processInfo.hProcess, 1000);
        DWORD exit = 100;
        GetExitCodeProcess(processInfo.hProcess, &exit);

        CloseHandle(processInfo.hProcess);
        CloseHandle(processInfo.hThread);
}

それを実行するために、現在のWindowsユーザーIDとパスワードでサービスにログオンしました。それでもうまくいかなかったので、デスクトップと対話するサービスを許可するにチェックを入れました。これを使用すると成功し、エラーは表示されませんが、画面はロックされません。(デスクトップサービスとのやり取りが安全でないことは知っていますが、それに関する解決策があるかどうか考えていますか?)

4

0 に答える 0