HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0822
HAPPkeybd_eventなどの使い方について3未解決


HAPP

リンク

2022/8/22(Mon) 22:50:35|NO.97006

keybd_event などを使って「Ctrl + Shift + F10」が同時に仮想キーで押されたとするにはどうすればよいのでしょうか。



この記事に返信する


あいそとーぷ

リンク

2022/8/22(Mon) 23:43:37|NO.97007

過去スレのMillkeyStarsさんから勝手にお借りして作ってみました
http://hsp.tv/play/pforum.php?mode=pastwch&num=88956

キーボードテストによるとちゃんと押されてそうです。
https://www.onlinemictest.com/ja/keyboard-test/


//キー操作エミュレートモジュール #module KEYCODE_EVENT #uselib "user32.dll" #func _KE_keybd_event "keybd_event" int,int,int,int #define _KE_VK_SHIFT 0x10 #define _KE_VK_CTRL 0x11 #define _KE_VK_ALT 0x12 #define _KE_KEYEVENTF_KEYUP 0x0002 //-------------------------------------------------------------- //キー操作エミュレート // // keybd_push p1,p2,p3 // p1 = 仮想キーコードを指定します // p2 = キーのフラグを指定します // p2 = 0x0001 : 押す // p2 = 0x0002 : 離す // p2 = 0x0004 : 特殊キーコードを事前に設定(SHIFTキー) // p2 = 0x0008 : 特殊キーコードを事前に設定(CTRLキー) // p2 = 0x0010 : 特殊キーコードを事前に設定(ALTキー) // p2 は、上記フラグを組み合わせて使用してください // p3 = キーを入力してからのウェイトを設定します。(ms 単位) //-------------------------------------------------------------- #deffunc keybd_push int vk_key,int mode,int key_timeout //特殊コード(SHIFT)押すなよ if (mode & 0x0004) : _KE_keybd_event _KE_VK_SHIFT,0,0,0 : await key_timeout //特殊コード(CTRL)押すなよ if (mode & 0x0008) : _KE_keybd_event _KE_VK_CTRL,0,0,0 : await key_timeout //特殊コード(ALT)絶対に押すなよ if (mode & 0x0010) : _KE_keybd_event _KE_VK_ALT,0,0,0 : await key_timeout //押せ〜〜〜! if (mode & 0x0001) : _KE_keybd_event vk_key,0,0,0 : await key_timeout //離す if (mode & 0x0002) : _KE_keybd_event vk_key,0,_KE_KEYEVENTF_KEYUP,0 : await key_timeout //特殊コード(SHIFT) if (mode & 0x0004) : _KE_keybd_event _KE_VK_SHIFT,0,_KE_KEYEVENTF_KEYUP,0 : await key_timeout //特殊コード(CTRL) if (mode & 0x0008) : _KE_keybd_event _KE_VK_CTRL,0,_KE_KEYEVENTF_KEYUP,0 : await key_timeout //特殊コード(ALT) if (mode & 0x0010) : _KE_keybd_event _KE_VK_ALT,0,_KE_KEYEVENTF_KEYUP,0 : await key_timeout return #global //以下サンプル(Ctrl + Shift + F10) //5秒後に、Ctrl + Shift + F10 を入力します。 await 5000 keybd_push 121,0x0001 | 0x0002 | 0x0004 | 0x0008,50



崎陽

リンク

2022/9/7(Wed) 16:57:38|NO.97090

特殊キーコード(ALTキー)がコードに含まれているのはなぜですか。 何か見逃したことがあるの? OPの皆さん、コードが上手くいきますように。



あいそとーぷ

リンク

2022/9/7(Wed) 23:54:27|NO.97095

Altキーの場所はお借りした時にあったものを消してないだけなので
恐らく消しても動作します(試してませんが)



ONION software Copyright 1997-2023(c) All rights reserved.