Windows タスクバーの「自動非表示」が有効になっているかどうかを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/990002

質問

Windows エクスプローラーのタスクバーが自動非表示に設定されているかどうかを Delphi プログラムで確認するにはどうすればよいですか?

役に立ちましたか?

解決

のWindows XP以上では、あなたは SHAppBarMessageを呼び出すことができますABM_GETSTATEメッセージを持つのAPIます。

構文:

SHAppBarMessage(ABM_SETSTATE, pabd);

pabdは、構造体をAPPBARDATAへのポインタである。
ヘッダファイルには、次のとおりです。shellapi.h。

あなたは、タスクバーの状態を取得したい場合は、ABM_GETSTATEメッセージを使用します。 あなたは、DelphiでこのAPIを呼び出すことができます。

他のヒント

どのようなことは、あなたがが本当にの知りたいということでしょうか?あなたが使用可能である画面の面積を知りたいので、それはありますか?

その場合は、

、その後、私はあなたがすべての(永久)ツール・バーなどが除外されている利用可能な画面領域を決定するためにScreen.WorkAreaRectを使用することができると信じています。

を使用するWin32のシェルのAPI(IsTBAutohideなど)
文書化されていないAPIのGoogleグループを参照してください。
レジストリを読み取ることはありません(ANS正しい答えを取り除く停止、それは愚かだ...)

この情報はそこに保持されているため、Windows レジストリを処理する必要があります。「autoohide」を示す値は、ユーザーが自分のアカウントでログオン/ログアウトしているときにのみ書き込まれます(読み取られます)。

この情報の保存を担当するレジストリ キーは、次の場所にあります。HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2そこにある唯一のものは 設定 そして、それは「自動hideの」の9番目の160個の値ですこの値は 03 「自動非表示オフ」の場合は、 02

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top