ウィンドウの位置に関する情報はどこに保存されていますか?


9

ウィンドウの位置に関する情報はどこに保存されていますか?

例:を起動するとnotepad.exe、最小化も最大化も行われず、画面の中央にある中サイズのウィンドウのみが開始されます。閉じてから再起動すると、同じXY座標になります。しかし、画面の下部にあるときに閉じると、画面の下部(ミドルではなく)で再び起動します。

ウィンドウのXY位置を手動で変更して標準以外の場所で開く場合、何を編集する必要がありますか?

おそらくレジストリですが、どこですか?

回答:


8

各プログラムは、ウィンドウに関する情報を独自の方法で格納します。メモ帳の場合、Windows XPレジストリに次のものが見つかりました。

レジストリで、次のフォルダに移動します

HKEY_CURRENT_USER\Software\Microsoft\Notepad

次に、次の値を変更します

iWindowPosX
iWindowPosY
iWindowPosDX
iWindowPosDY

XとYは、ウィンドウの左上隅の座標です。DXとDYは、ウィンドウの幅と高さです。

他のプログラムは、ウィンドウの位置情報をレジストリまたは他の設定ファイルに保存する場合があります。


したがって、各プログラムは独自の位置データを処理する必要がありますか?
BenjiWiebe 2013年

Windowsで処理されることを期待していました。しかし、私は脳波を得ました。非常に基本的なWin32 GUIプログラムをコンパイルし、コードを調べて位置設定コードを見つけました。私が見つけたのは、プログラムを配置するようにWindowsに指示する行だけでした。その後、Windowsはプログラムを他のコンソールプログラムと同じように配置しました-左上隅、次にやや右下に配置し、最後に左上隅にリセットするまで再び下に配置します。デモ:にstart10回入力しtest.batて実行します。
BenjiWiebe 2013年

私の場合、iWindowPosXがfffffffd(4294967293)に設定されているのがわかりました。その膨大な数がどのように機能するか考えていますか?
Karan、2013年

@BenjiWiebeそれらは異なるものです。1。プログラムがウィンドウの位置を覚えていて、次に同じ場所に配置できる場合、プログラムはウィンドウの座標とサイズを保存する方法と場所を選択します。レジストリ、テキストファイル、またはその他の方法で値を保存できます。2.ウィンドウを作成するプログラムを作成している場合は、ウィンドウを作成するときにウィンドウの位置とサイズを指定できるはずです。それらを指定しない場合、Windowsはあなたが説明するようにデフォルトの配置を選択します。おそらく、プログラミングフォーラムでより具体的なガイダンスを得ることができます。
Bavi_H 2013年

1
@Karanビットが符号付きの値として扱われる場合、その数は-3です。簡単に言うと、8つのリールを備えた走行距離計を想像してみてください。各リールには、0から9までの数字があり、次にAからFまでの数字があります。00000000から始めて、走行距離計を3回逆方向にクリックすると、FFFFFFFDになります。詳細については、バイナリ、16進数、2の補数について説明します。
Bavi_H 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.