我正在尝试在 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"
}
}