PostMessage を使用してファイルを保存するためのダイアログ プロンプトに ALT-S を送信しようとしています。
PostMessage(h, WM_KEYDOWN, VK_MENU, 0);
PostMessage(h, WM_KEYDOWN, ord('S'), 0);
PostMessage(h, WM_KEYUP, ord('S'), 0);
PostMessage(h, WM_KEYUP, VK_MENU, 0);
しかし、うまくいきません。2 つのキーを送信しますが、ALT 条件がダイアログ ボックスで認識されず、通常の S 文字として処理されるかのようです。
これ(エラーが発生する)を含む多くの読み取りを行いましたが、ALTが押されていることを示すためにlparamで何かをする必要があるようです。一部の情報源は 0x20000000 と言っていますが、これも機能しません。
ダイアログ ボックスがフォーカスされないため、SendInput、keybd_event などは機能しません。
私はかなり困惑しています。いくつかの洞察をいただければ幸いです。