開発環境 Vs.net2003 VC++ MFC
タスクバーの 自動的に隠す や 手前に表示 の切り替え方法をしらべて
下記のコードで実行できることがわかりました。
-------------------------------------------------------------------
#include<shellapi.h>
APPBARDATA ABData;
ABData.cbSize = sizeof(ABData);
ABData.hWnd = ::FindWindow(Shell_TrayWnd, NULL);
ABData.lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;
SHAppBarMessage(ABM_SETSTATE, &ABData);
-------------------------------------------------------------------
OS がXPの場合は正常に動作するのですが
2000 ではうまく動作できません。(98,ME などの動作は未確認です)
2000 では SHAppBarMessage の戻り値に 0 が返ります。
(MSDNでは常にTRUEが返ると記載されています)
2000でもタスクバーのステータス情報を変更するにはどうすればいいでしょうか。
よろしくお願いいたします。
> OS がXPの場合は正常に動作するのですが
> 2000 ではうまく動作できません。(98,ME などの動作は未確認です)
とりあえず、VC++6のshellapi.hではABM_SETSTATE自体が定義されていませんでした。
というコトで軽くググってみたところ、(VBですが)
http://www.bcap.co.jp/hanafusa/VBHLP/shappbar.htm
というのを見つけました。
なお、掲示板の過去ログとは
http://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=248&page=1860
です。