Windows タスクバーの「自動非表示」が有効になっているかどうかを確認するにはどうすればよいですか?
-
13-09-2019 - |
質問
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