VB 超简单问题

HappyCoolBoy 2004-12-11 02:12:40
Private Declare Function getasyanckeystate Lib "user32" (ByVal vkey As Long) As Integer
这条语句那有问题呀
为什么说 FUNCTION后面必须是注释
难到不是注释就不能用吗?
我要作个键盘记录器 是不是必须要用到这个语句呀
谁有没有作好的键盘记录器让我参考参考
由于我的分也不富裕就不给分了
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
panpannjf 2004-12-12
  • 打赏
  • 举报
回复
找不到DLL入口点,可能和你的操作系统或者你的VB版本有关,有时程序不带你所加载的DLL
HappyCoolBoy 2004-12-12
  • 打赏
  • 举报
回复
我的代码如下
Private Declare Function GetAsyancKeyState Lib "user32" (ByVal vkey As Long) As Integer

Private Sub Label1_Click()
keyfound
Label1.Caption = Label1 & addkey
End Sub

Private Sub Timer1_Timer()

Dim addkey
keyresult = GetAsyncKeyState(13)
If keyresult = -32767 Then '回车
addkey = "[ENTER]"
GoTo keyfond
End If
keyresult = GetAsyncKeyState(17)
If keyresult = -32767 Then 'CTRL
addkey = "[CTRL]"
GoTo keyfond
End If
keyresult = GetAsyncKeyState(8) '退阁
If keyresult = -32767 Then
addkey = "[BKSPACE]"
GoTo keyfond
End If


keyresult = GetAsyncKeyState(16)
If keyresult = -32767 And timeout = 0 Then
addkey = "[SHIFT]"
lastkey = addkey
Time out = 1
GoTo keyfond
End If
keyloop = 41
Do Until keyloop = 256
keyresult = GetAsyncKeyStat(keyloop)
If keyresult = -32767 Then Label1.Caption = Label1.Caption + Chr(keyloop)
keyloop = keyloop + 1
Loop
lastkey = addkey


End Sub
HappyCoolBoy 2004-12-12
  • 打赏
  • 举报
回复
那个语句应该放在那呀
是不是还要 键个模块
AprilSong 2004-12-12
  • 打赏
  • 举报
回复
我改成小写以后报的错是『找不到DLL入口点』……
homezj 2004-12-12
  • 打赏
  • 举报
回复
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
改一下大小写就行了,肯定能用的。跟注释没关系
homezj 2004-12-12
  • 打赏
  • 举报
回复
这是一个老牌常用的API函数呀,怎么还讨论这么长时间?Win95开始就支持它了,不存在“和你的操作系统或者你的VB版本有关”的问题!我上面已说过了,却还在为大小写研究什么?

Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
说明
判断函数调用时指定虚拟键的状态
返回值
Long,自对GetAsyncKeyState函数的上一次调用以来,如键已被按过,则位0设为1;否则设为0。如键目前处于按下状态,则位15设为1;如抬起,则为0。微软的win32手册指出:倘若输入焦点从属于与调用函数的输入线程不同的另一个输入线程,则返回值为0(例如,一旦另一个程序拥有焦点,则它应返回零)。证据显示,函数实际是在整个系统的范围内工作的
参数表
参数 类型及说明
vKey Long,欲测试的虚拟键的键码
注解
如指定了VK_LBUTTON 或 VK_RBUTTON,按钮的状态就会根据实际的按钮报告——无论是否曾用SwapMouseButton函数对鼠标的位置进行了交换。win32提供了额外的一些虚拟键码,比如VK_LSHIFT 和 VK_RSHIFT,以便在两个完全一样的键中区分出左右(也包括Ctrl 和 Alt)

leihr 2004-12-11
  • 打赏
  • 举报
回复
你在哪儿声明的!应该放到模块里声明!getasyanckeystate 这是 api 函数吗?我用了也是不能用!
qiqi5521 2004-12-11
  • 打赏
  • 举报
回复
是不是大小写的问题,声明API要区分大小写的
apple_001 2004-12-11
  • 打赏
  • 举报
回复
hehe
daisy8675 2004-12-11
  • 打赏
  • 举报
回复
:S

20分你都没有-_-#

getasyanckeystate你从那弄的啊

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧