4

Windows XPのログオン画面に表示できるプロセスを起動するサービスをC#で作成しようとしています。

C++ でこれを行っているコードをいくつか見つけました。C++ コードは、STARTUPINFO.lpDesktop を「WinSta0\WinLogon」に設定して別のプロセスを作成するサービス用です。作成されたプロセスは、Windows のログオン画面に表示されます。System.Diagnostic.Process クラスを使用して、C# で新しいプロセスの「デスクトップ」を指定する方法が見つからないようです。

C#でこれを行う方法を知っている人はいますか?

4

2 に答える 2

3

解決策は、C# コードから kernel32.dll から C++ Win32 API 関数 CreateProcess を呼び出すことでした。このサイトは、C# の正しい関数シグネチャを取得するのに非常に役立ちました。

http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html

于 2008-09-19T18:19:29.610 に答える
-1

C++ で記述し、それを DLL にコンパイルしてから、マネージ コードから DLL を呼び出す必要があると思います。

于 2008-09-19T16:56:59.043 に答える