4.0は知りませんが、3.xまでのBoot Campはタスクバー再生成の際にアイコンが登録されません。
外部ツールがついでに登録できないかと32ビット版3.2と64ビット版3.3で調べたところ、NOTIFYICONDATAのuIDに0x86を設定することで、他は普通に可能でした。
メッセージを飛ばす相手のウィンドウは、クラス名"Afx:00400000:0"(3.2/32)又は"Afx:000000013FF20000:0"(3.3/64)ですが、2つあるので大きさで判別する必要があります。目的のブツは10x10のものです。
クラス名でなくプロセス名がBootcamp.exe(2.xまではKbdMgr.exe)であるのを確認しても良いでしょう。こちらが参考になります。Bootcamp.exeの在処は、決め打ちでなければプロセス名のフルパスから取るのが正しいですから。
なおアイコンのリソースIDは128、コールバックのメッセージはWM_USER+10です。
exeをLoadLibraryしてLoadIcon(LoadImage)して、Shell_NotifyIconしてFreeLibraryすれば完了です。TerminateProcessして再起動するより行儀の良い再登録が行なえます。
外部ツールがついでに登録できないかと32ビット版3.2と64ビット版3.3で調べたところ、NOTIFYICONDATAのuIDに0x86を設定することで、他は普通に可能でした。
メッセージを飛ばす相手のウィンドウは、クラス名"Afx:00400000:0"(3.2/32)又は"Afx:000000013FF20000:0"(3.3/64)ですが、2つあるので大きさで判別する必要があります。目的のブツは10x10のものです。
クラス名でなくプロセス名がBootcamp.exe(2.xまではKbdMgr.exe)であるのを確認しても良いでしょう。こちらが参考になります。Bootcamp.exeの在処は、決め打ちでなければプロセス名のフルパスから取るのが正しいですから。
なおアイコンのリソースIDは128、コールバックのメッセージはWM_USER+10です。
exeをLoadLibraryしてLoadIcon(LoadImage)して、Shell_NotifyIconしてFreeLibraryすれば完了です。TerminateProcessして再起動するより行儀の良い再登録が行なえます。