• ベストアンサー

ときどきいきなりタスクバーが消えるプログラム

をC言語SDKで作ってしまいました どこにもタスクバーを消すコードは入れていません (タスクバーに何かをする方法を私は知らない) そこでとにかくこれを解消するために タスクバーが有るかどうかを検出してタスクバーが無ければタスクバーを表示する用にしたいのです そこでC言語SDK関数で (1)タスクバーが有るかどうかを知る方法 あるいは (2)タスクバーを表示する方法 を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>ウィンドウハンドルhWの表示状態nCmdShowを知る関数を教えてください これは、タスクバーのnCmdShowを知りたいということですか? >IsWindowVisible(FindWindow("Shell_TrayWnd",NULL)); これではまずいんですか? 意識したほうがいい状態は、表示、非表示、アクティブ、非アクティブ位しかないと思うのですが。

nubou
質問者

お礼

ありがとうございます 納得しました

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

最前面のウィンドウを非表示にする処理とか入れてませんか? >(1)タスクバーが有るかどうかを知る方法 FindWindowで調べましょう。 クラス名はSpyで自分で調べましょう。 >あるいは >(2)タスクバーを表示する方法 そもそもログインしている間は普通あります。 エクスプローラが落ちたときやログインしていないときは ないこともありますが。

nubou
質問者

補足

ありがとうございます IsWindowVisible(FindWindow("Shell_TrayWnd",NULL)); でよさそうです しかしよく考えてみると 自分のプログラムを実行したときのタスクバーの表示状態がどうであろうと表示状態をそのままにしておかないといけないとの結論に達しました そこでタスクバーウィンドウにおいて int WINAPI WinMain (HINSTANCE hCurInst, HINSTANCE hPrevInst,LPSTR, int nCmdShow) のnCmdShowに相当するものを知らないといけません ウィンドウハンドルhWの表示状態nCmdShowを知る関数を教えてください

関連するQ&A