Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const keyeventf_keyup = &H2
Private Sub TimerMP_Timer()
NowMP = ncnr(1212 + ncnr(48 + (ncnr(13432652))))
MaxMP = ncnr(1288 + ncnr(48 + (ncnr(13432652))))
If NowMP < MaxMP * Val(Textdrug3.Text) / 100 Then
keybd_event 105, 0, 0, 0
kyebd_event 105, 0, keyeventf_keyup, 0
End If
End Sub
ncnr没有问题,只看keybd_event。
VB6.0 我在模块里声明了keybd_event,结果timer里仍然显示函数未定义,是怎么回事?
答案:2 悬赏:0 手机版
解决时间 2021-03-10 12:56
- 提问者网友:棒棒糖
- 2021-03-09 19:11
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-03-09 20:29
kyebd_event 105, 0, keyeventf_keyup, 0
改为
keybd_event 105, 0, keyeventf_keyup, 0
这是编程中的最低级错误,就是打字打错了。
改为
keybd_event 105, 0, keyeventf_keyup, 0
这是编程中的最低级错误,就是打字打错了。
全部回答
- 1楼网友:醉吻情书
- 2021-03-09 22:03
在vb中使用api是很麻烦的,如果在passcal borland delphi 下使用,跟本不需要声名,
而且模拟键盘也很简单。直接发送键码就行了。
比如procedure tform1.button1click(sender: tobject);
var npad:hwnd;
i,j:integer;
begin
//须先閞notepad
npad := findwindow(nil, '未命名 - 记事本');
if npad <> 0 then begin
bringwindowtotop(npad); //使其成为focus之window
for j:=1 to 5 do begin
for i := ord('a') to ord('z') do begin //大小写均同
keybd_event(i, 0, 0, 0); //keydown此键
keybd_event(i, 0, keyeventf_keyup, 0); //keyup
keybd_event(vk_shift, 0, 0, 0); //按着shift ,使成为大写
keybd_event(i, 0, 0, 0); //keydown
keybd_event(i, 0, keyeventf_keyup, 0); //keyup
keybd_event(vk_shift, 0, keyeventf_keyup, 0); //放开shift
end;
keybd_event(vk_return, 0, 0, 0); //换行
keybd_event(vk_return, 0, keyeventf_keyup, 0);
end;
end;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯