|
よねKEN さんありがとうございます。
> 質問文には書かれていませんが、「スタート」メニューを表示するのが目的でしょうか? そうです。説明不足で申し訳ありません。
> おそらく「押す」ことはできていると思うのですが「離す」ができていないと思います。 「離す」ということは、 win32api.keybd_event((byte)0x5B, 0, 2/*KEYEVENTF_KEYUP*/, 0); このコードで正しいでしょうか? > MSDNライブラリに掲載されているのは、C言語での定義です。 > DWORD型は32bit符号なし整数ですので(少なくともモバイルじゃないWindowsでは)、 > uint型が妥当だと思います。 public class win32api { [DllImport("coredll.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, ref uint dwExtraInfo); } いろいろ調べてみてこのようになりました。 dwExtraInfoはref uint型でいいのでしょうか?
>それから戻り値がなぜかuint型になっていますが、 >keybd_eventの戻り値はモバイル版でもそうでなくてもvoidですよ。 ネットからコピーしたので・・・voidに修正しておきました。 ありがとうございます。
>win32api.keybd_event((byte)0x5B, 0, 0, 0); >という内容だけを実行してしまうとWindowsキーが押しっぱなし状態になって、 >KEYUPのための修正版のコードも実行しないと、それまではWindowsキー押しっぱなし状態になりますので、 >実験される方はご注意ください。 ということなんですが、 修正版のコードも実行とはどういうことでしょうか?
何度も申し訳ありません。 よろしくお願い致します。
|