https://naba-san.hatenablog.com/


Windows 8/8.1/10で対話型サービス ダイアログを表示したい

あの通知ダイアログの実態は「Interactive Services Detection」というらしいのですが、表題のバージョンで直接起動すると「ファンクションが間違っています」とか表示されて怒られます。

Windows Vista/7と2008/R2で利用できた対話型サービス ダイアログの検出・通知機能、Windows 8/10及び2012以降では標準で無効に設定されているそうです。


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices がトリガになっており、従前は"0"、Windows 8 以降は"1"が設定されているそうです。
手元の Windows 10 環境でこの値を0に書き換えてやると、無事に Interactive Service Detection が起動できるようになりました。

公式:

はまってる事例とか:


EntryServiceとかSexeみたいにデスクトップアプリを無理矢理サービス化してる人とか、セッション0使うレガシーアプリとか、まともに使おうとするとUAC周りでもはまりそう。

VNC越しで操作してるうち、やったーこれでサービスでもウインドウが拝めるぞーって思って、いざ切り替えた途端に閉め出されちゃって、ちょっと涙目。

【追記】RealVNC 4 以降はセッション0への切り替えに対応しない様子(お行儀が良い)。3.x 系から発展する UltraVNC を通常の手順でサービスインストールする場合、暗転ないしセッション0切り替え時も一瞬切断されるが、再接続して切り替え後のデスクトップを操作可能。リモートKVMみたいなものは持ってないけど、遠隔地に配置する必要がある場合は、サービスの一つとして仕込んでおくと良さそう。