Kernel flag
フラグがすぐに有効になることを示しますwithout requiring a reboot
Registry flag requires a reboot
フラグが有効になるように
カーネルには、ハングする可能性のある GUI がありません。
ウィンドウという用語はカーネルを意味するのではなく、実行中のアプリケーションの GUI ウィンドウを意味します
OS の NtSetSystemInformation をチェックして、0x8 が有効にならない理由を理解してください。
基本的に、この API 内にはいくつかのハードコーディングされたマジック ナンバーがあり、GlobalFlag の変更に対する各リクエストをテストし、xp-sp3 でそれらを許可または禁止します。このマジック値は0B2319BF0
、< 0x10 のフラグは許可されず、ハングした GUI で停止するのは 0x8 です。効果がなく、レジストリタブからこれを設定することはできません
したがって、事実上、このフラグを設定する方法はありません
nt!NtSetSystemInformation+0x193:
80606009 8b03 mov eax,dword ptr [ebx] ds:0023:001285f8=00000008 <---- +shg
8060600b 25f09b31b2 and eax,0B2319BF0h < magic value in nt
80606010 8945a0 mov dword ptr [ebp-60h],eax ss:0010:fb569cf0=00000000
80606013 8b0d6c125580 mov ecx,dword ptr [nt!NtGlobalFlag (8055126c)] ds:0023:8055126c=00000000
80606019 81e10f64ce4d and ecx,4DCE640Fh <--another magic value both these magic values orred together
will be 0xffffffff covers the whole range of flags
8060601f 0bc1 or eax,ecx
80606021 8945a0 mov dword ptr [ebp-60h],eax ss:0010:fb569cf0=00000000
80606024 a36c125580 mov dword ptr [nt!NtGlobalFlag (8055126c)],eax ds:0023:8055126c=00000000