私のアプリケーション (システム サービスとして実行) には、何らかの理由でディスプレイが数回「点滅」する機能があります。これは、バックライト コントロールへのアクセスを可能にする特別な API を介して行われます。これはこれまでのところ機能します。しかし、電源オプションの「ディスプレイをオフにする」設定のためにディスプレイがオフになると、何も起こらないように見えます(ユーザーの観点から)。
解決策を探すと、常にSendMessage、SendNotifyMessage、または SetThreadExectionStateを使用するよう提案されました。これらの関数は、システム サービスから呼び出された状態では機能しません (少なくとも Windows Vista 以降では)。
ユーザーがログオンしていないため、ユーザーのコンテキストで表示をオンにする機会がない場合でも、表示をオンにする方法があると確信しています。しかし、私は見つけることができませんでした。あなたが私を助けてくれることを願っています。
PS: (ヘルパー) アプリケーションをユーザー モードで試してみたところ、ワークステーションがロックされていても動作することがわかりました (Win+L)。残っている唯一の問題は、サービスとして実行していてユーザーがログオンしていないときにディスプレイをオンにできないことです。