不大不小的一个问题

hobo_man 2001-08-22 08:47:42
vb中如何传一个指针变量给Api函数
...全文
102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hobo_man 2001-08-23
  • 打赏
  • 举报
回复
兄弟,还是不行
ltpao 2001-08-23
  • 打赏
  • 举报
回复
Private Type tagMOUSEMOVEPOINT
x As Long
y As Long
time As Long
dwExtraInfo As Long
End Type

Private Declare Function GetMouseMovePoints Lib "user32" Alias "GetMouseMovePointsEx" (ByVal cbSize As Long, ByRef lppt As tagMOUSEMOVEPOINT, ByRef lpptBuf As tagMOUSEMOVEPOINT, ByVal nBufPoints As Long, ByVal resolution As Long) As Long


Private Sub Command1_Click()
Dim p1 As tagMOUSEMOVEPOINT
Dim p2() As tagMOUSEMOVEPOINT
Dim ret As Long,lPoints As Long
lPoints = 3
Redim p2(1 To lPoints) As tagMOUSEMOVEPOINT
ret = GetMouseMovePoints(LenB(p1), p1, p2(1), lPoints , 1)

MsgBox p1.x & " " & p1.y
MsgBox p2(1).x & " " & p2(1).y

End Sub
smilejiangjun 2001-08-23
  • 打赏
  • 举报
回复
byref不就行吗
hobo_man 2001-08-23
  • 打赏
  • 举报
回复
Private Type tagMOUSEMOVEPOINT
x As Long
y As Long
time As Long
dwExtraInfo As Long
End Type

Private Declare Function GetMouseMovePoints Lib "user32" Alias "GetMouseMovePointsEx" (ByVal cbSize As Long, ByRef lppt As Long, ByRef lpptBuf As Long, ByVal nBufPoints As Long, ByVal resolution As Long) As Long


Private Sub Command1_Click()
Dim p1 As tagMOUSEMOVEPOINT
Dim p2 As tagMOUSEMOVEPOINT
Dim ret As Long

ret = GetMouseMovePoints(Len(p1), VarPtr(p1), VarPtr(p2), Len(p2), 1)

MsgBox p1.x & " " & p1.y
MsgBox p2.x & " " & p2.y

End Sub
songyangk 2001-08-22
  • 打赏
  • 举报
回复
把你的API函数贴出来!
lanren_me 2001-08-22
  • 打赏
  • 举报
回复
不行
songyangk 2001-08-22
  • 打赏
  • 举报
回复
在定义API函数时,使用byref定义就行。
bobme 2001-08-22
  • 打赏
  • 举报
回复
利用VarPtr()函数就行了

7,763

社区成员

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

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