質問

ウィンドウ "ID" - Win32ウィンドウに関連付けられているユニークな番号を取得する方法は?

NSISスクリプト(.nsiファイル)内のIDを取得できますか?どんな外部プログラムを使うことができないのですか?私のインストーラを何らかの理由で実行すると、Reshackerが正しいダイアログを表示していません。私はそれに似た名前のgdispyや何かを聞いたことがあります。

MUI2ページ内の一部のウィンドウのzインデックスを変更し、カスタムページ内でチェックボックスの背景を設定します。

WindowsユニークIDを見つけるための最も簡単な方法は何ですか?

編集 申し訳ありませんが、私は正しい用語に慣れていません。私はhwnd変数/ハンドルについて話していません。整数のWindows固有のウィンドウIDについて話しています。

# In NSIS 
GetDlgItem $R0 ${parentHWND} 1012 # the 1012 is what I am referring to as the window ID 
.

役に立ちましたか?

解決

ダイアログのIDは、 winspy ++ のようなスパイツールで見つけることができます。(このツールはそれを16進数で表示されます.Cecc.exeで変換するか、.nsiで0xの数値を0x)

で表示されます。

NSISには2つのネストされたダイアログがあり、外部ダイアログは次のボタンとキャンセルボタンをホストします。内部ダイアログは現在のページのコントロールをホストします。

外部ダイアログのボタンにハンドルを取得するには:

GetDlgItem $1 $hwndparent 1
.

と内部ダイアログの場合:

FindWindow $0 "#32770" "" $HWNDPARENT ;Find inner dialog first
GetDlgItem $1 $0 0x666
.

カスタムページの場合、ID(およびZ順)は、コントロールを作成した順序によって異なります...

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