8

アプリケーションを Windows ガジェットのようにデスクトップ レベルに設定したいと考えています。これを達成することは可能ですか?

つまり、デスクトップで実行したいボーダレスアプリケーションがあります。

オプションを見つけようとしましたが、達成したいこととは反対の「常に一番上」しか見つかりませんでした。

4

4 に答える 4

6

古き良きSetWindowPosは、アプリケーションを順序の最後に配置する HWND_BOTTOM をサポートしています。C# で使用するには、PInvoke.Netを参照してください。

于 2010-03-03T14:44:52.133 に答える
3

バックグラウンドでサービスとして実行されるようにアプリを作成してから、実際のWindowsガジェットをフロントエンドとして実装しますか?

于 2010-03-03T14:39:15.647 に答える
0

いつものトップと同じようにする方法はないと思います。アプリケーションをアイコンの下で実行しますか? 本当にバックグラウンド アプリケーションを実行する唯一の方法は、explorer.exe を置き換えることですが、アイコンとタスク バーが表示されなくなります。

于 2010-03-03T14:33:23.083 に答える
0

XBAP を作成することで、WPF を使用して実際の Windows ガジェットを実装できます。XBAP をロードする IFRAME のみを含む gadget.xml ファイルと .html ファイルを追加するだけです。そうすれば、WPF アプリケーションは実際にはガジェットになり、自動的にすべてのルールに従います。

もう 1 つのオプションは、Windows Sidebar Stylerを使用することです。これには、追加のソフトウェアをインストールする必要がありますが、コード署名証明書、ユーザー承認などなしでは XBAP サンドボックス内では実行できないことも実行できます。

3 番目のオプションは、HTML で認識可能なもの (特定の背景色など) を使用するガジェットを作成することです。次に、.exe の起動時に、探している属性を持つ hWnd をエクスプローラーでスキャンし、自分自身を挿入します。 Explorer.exe プロセスを開き、ウィンドウをその子として設定します。

3 番目のオプションのバリエーションは、Explorer.exe に挿入するのではなく、Z インデックスと場所を (SetWindowPos を使用して) 維持して、見つけた hWnd の Z インデックスと場所を追跡することです。

非常に多くの選択肢...

于 2010-03-03T16:19:37.423 に答える