自動的にポップアップするダイアログを閉じたいが、動作させるのに問題がある。私のWin32プログラミングは、限られた使用の数年後に少し錆びています。C#の別のウィンドウでボタンをクリックしてシミュレートする
私は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)の定数をインライン化しました。
私は間違っていますか? :)
ありがとう、私はちょうど私がlParamを代わりに使うべきであることを自分自身に知った。他の人が正しいものを書いていると仮定しないでください:( – Thorarin