Windowsの「名前を付けてファイルを保存...」ダイアログの「保存」ボタンにテキストを設定しようとしています。
フックをセットアップし、メッセージを受信し、ボタンを見つけました (注: " GetWindowText()
" を呼び出すと、"&Save" が表示されるので、それが正しいボタンであることがわかります)。
次に、" " を使用してテキストを変更しましたSetWindowText()
(そして " GetWindowText()
" を呼び出して確認しました - テキストは正しいです)。
しかし...ボタンにはまだ「保存」と表示されています。
まったく同じコードを使用して「キャンセル」ボタンを変更できます-問題ありません。「保存」ボタンの何が特別なのですか?どうすれば変更できますか。
コード(価値のあるもの):
static UINT_PTR CALLBACK myHook(HWND hwnd, UINT msg, WPARAM, LPARAM)
{
if (msg == WM_INITDIALOG) {
wchar_t temp[100];
HWND h = GetDlgItem(GetParent(hwnd),IDOK);
GetWindowTextW(h,temp,100); // temp=="&Save"
SetWindowTextW(h,L"Testing");
GetWindowTextW(h,temp,100); // temp=="Testing"
}
}