タイトル : Re: Keybd_Eventでのモニターリセット 投稿日 : 2021/03/06(Sat) 11:47 投稿者 : 魔界の仮面弁士
> Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer) 最後の引数は ULONG_PTR dwExtraInfo なので、本来の型は IntPtr あるいは UIntPtr ですね。 でもそれが原因かと言われると、ちょっと弱い気もします。 あとは、セキュリティソフトによる阻害ぐらいしか今のところ思い当たりませんでした。 それ以外では駄目元で、Vista 以降の UIPI(ユーザーインターフェイス特権分離)の影響を疑って、 app.manifest で uiAccess="true" を設定してみるぐらいかな…。(可能性は薄そう) > 動作しませんでした。 <supportedRuntime> を変更した複数の exe を同じ OS 環境で試したのでしょうか。 それとも、同じ exe を、異なる OS 環境で試したという事でしょうか。 ターゲットフレームワークを .NET Framework 2.0〜3.5 にした場合はどうでしょうか。 keybd_event を 4 回呼び出す代わりに、 SendInput の 1 回の呼び出し(4 要素の配列を渡す)に切り替えた場合はどうでしょうか。 ※ keybd_event に比べると宣言が面倒ですが…。 > Winddows10の Winddows10 ではなく Windows 10 ですね。 > .NET Framework4.8系以下の 以下 ではなく 未満 ですね。 > Visual BasicでKeybd_Eventを使用して Keybd_Event ではなく keybd_event ですね。 |