2

Windows Vista 以降で Delphi サービス アプリケーションからトレイ アイコンを作成することはできますか?

4

1 に答える 1

5

いいえそうではありません。サービスはセッション 0 で実行されます。対話型プロセス、デスクトップはすべて、ログオンしているユーザーごとに 1 つの異なるセッションで実行されます。

この分離は重要であり、セキュリティを強化するように設計されています。Windows XP でも、サービスとデスクトップの間で直接対話することは想定されていませんでした。開発者はとにかくそれをやったので、Microsoft は Vista でそれを禁止しました。

標準的な方法は、HKLM\Software...\Run などの別の方法でトレイ アイコン プロセスを作成することです。そのインタラクティブなプロセスは、IPC を使用してサービスと通信できます。たとえば、名前付きパイプ。

現在、サービスがデスクトップ上でプロセスを起動する非常に限られた状況では、技術的に可能です。ここでそれについて読んでください:http://blogs.msdn.com/b/winsdk/archive/2009/07/14/launching-an-interactive-process-from-windows-service-in-windows-vista-and-later .aspx

あなたがまだそれを試してみたいなら、それを読んだ後、私はあなたに世界の幸運を祈ります!

于 2012-09-08T13:42:07.483 に答える