Session Managerは、評価することにより、実行するセッションを決定します
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
必須およびオプションのサブシステム用。
たとえば、Windowsは実行され、次のようにリストされているサブシステムです。
%SystemRoot%\system32\csrss.exe
さまざまなパラメータが渡されます。これがClient-Server Runtime Server Subsystem
グラフィカルインターフェイスを開始します。家でやってはいけない次のことを試すとき
%SystemRoot%\system32\cmd.exe
私たちはの線に沿って何かを見ることができます
C000021a (fatal system error)
The session manager initialization system process terminated unexpectedly
with a status of Ox00000000. (Ox00000000 Ox00000000)
The system has been shut down.
これは基本的に、cmd.exe
ウィンドウを作成できないために正常に終了することを意味します。しかし、DOSモードを初期化し、画面に何かを印刷し、ループするプログラムは成功すると思います。これは基本的にchkdsk
ブート中に実行するときに行うことであり、C ++のその行に沿って何かを複製するのは難しくありません。ただし、I / Oを書き換える問題のあるオープンソースの代替手段がない限り、フルコンソールを複製するにはかなり時間がかかります。
そのため、コマンドラインのみを実行してコマンドラインセッションに切り替えることができるソフトウェアを作成することは技術的には可能ですが、私はこれをあなたが達成しようとしていることに対するハードワークの回避策と考えています。なぜすべてがハングするのか、なぜ単純にCTRL+ SHIFT+ ESCを押してタスクマネージャーを起動して火で殺すことができないのかを理解する必要があるからです...
代わりにフリーズを解決する場合は、トレースをキャプチャしてダンプを強制することを検討してください。:)