Я бы хотел закрыть диалоговое окно, которое появляется автоматически, но у меня возникли некоторые проблемы с его настройкой. Мои программы на Win32 немного устарели после нескольких лет ограниченного использования.
Я использую FindWindowEx, чтобы получить указатели на диалоговое окно и кнопку, которую я хочу нажать. У меня сложилось впечатление, что отправка WM_COMMAND в диалоговое окно с ручкой кнопки в параметре wParam поможет.
Window window = Window.FindWindow("TSomeDialog", null);
Window cancelButton = Window.FindWindow("TButton", "Cancel", window);
Message message = Message.Create(window.HWnd, 0x0111, cancelButton.HWnd, IntPtr.Zero);
PostMessage(message);
public void PostMessage(Message message)
{
// Win32 API import
PostMessage(message.HWnd, message.Msg, message.WParam, message.LParam);
}
Window - это класс, который реализует IWin32Window и переносит некоторые вызовы Win32 API. Я указал константу для WM_COMMAND (0x111).
Что я делаю не так? :)