0

ウィンドウの外観をまったく再現する WindowBlinds のようなアプリケーションがあります。しかし、私は今トレイウィンドウで立ち往生します。Shell_NotifyIcon() func を逆アセンブルすると、Shell_NotifyIconW() func を使用し、次に序数 (shellw.dll から) 関数 215 を使用してアイコンを作成、変更、および削除することがわかりました。

この関数では、hwnd で WndProc を見つけることができることがわかりました (逆アセンブル コードでは、FindWindowW(L"Shell_TrayWnd", 0); で hwnd を取得しています)。

誰でもこれで作業しますか?助けてください。

4

1 に答える 1

0

エクスプローラーは WM_COPYDATA メッセージ IIRC を取得するだけなので、サブクラス化 (同じプロセスにいる必要があります) してそのメッセージをキャッチしたり、ツールバー メッセージを使用してトレイ アイコン リストを操作したりできます。オープン ソースのTraySaverアプリを参照してください。

また、オープンソースの代替シェルのいくつかを調べることもできます。それらには、この文書化されていないものがたくさんあります。多少関連する回答でそれらのいくつかにリンクしました。

于 2010-11-05T14:17:38.967 に答える