より良い方法を提案することはできませんが、私にできることは、まったく同じ種類のことを行う単純なフックベースのツールのソースを提供することです. あなたに役立つビットを自由に感じてください:
http://www.pretentiousname.com/NoBarTab/NoBarTab_poc3.zip
(将来、この URL が機能しなくなった場合は、レベルを上げてください。おそらく、私がそれを完成させて、ツールとそのソースの実際のページを作成したためです。)
これは VS2010 C++ プロジェクトですが、古い IDE で簡単にコンパイルできるはずです。(これを書いていると、VS2010 を今のところこれ以上使うのは気が進まなくなりました。)
明らかに、それを使用する場合は、ツールとの競合を避けるために、ウィンドウ クラスとバイナリ名の名前を変更してください。(名前に「NoBarTab」が含まれるもの。)
FWIW、これは私が数週間前に書き始めたツールですが、まだ完成していません。とはいえ、フッキング部分は完成。ウィンドウの作成をフックして、特定のプロセスで Windows 7 のタスクバーからタブを削除できるようにします。(特に、VMware がその機能を使用する方法が嫌いです。) いずれにせよ、完成したらソース コードをリリースするつもりでした...
32/64 ビットのフッキング部分はすべて完了です。私が回避できなかった唯一のことは、構成 UI を追加して、どのプロセスを考慮する必要があるかを指定できるようにすることですが、それはあなたがしていることにとって重要ではありません。
(Win7 タスクバーからタブを削除する方法は完全なハックであり、Windows の将来のバージョンでは機能しなくなる可能性があると言わざるを得ません。それを行う方法が文書化されていないため、面倒な方法で解決する必要がありました。ただし、すべて「適切」であることに興味があります。)
また、実際のロジックのほとんどすべてがメインの 64 ビット exe 内にあるようにしました。32 ビット EXE は、32 ビット フック DLL をインストールするために存在するだけであり、32 ビットと 64 ビットの両方のフック DLL は、メインの 64 ビット exe の非表示ウィンドウにメッセージをポストするだけです。それがあなたのやっていることに適しているかどうかは、あなたの判断に委ねますが、できるだけすべてを 1 か所にまとめたいというあなたの希望にはおそらく合っていると思います。
それが役に立つことを願っています!