Project1

标题: 帮我看下API调用 [打印本页]

作者: yangff    时间: 2008-2-19 01:01
标题: 帮我看下API调用
总是说:运行是错误,GetProcAddress:Get_Pos_X or Get_Pos_XA
(  $Get_Pos_X = Win32API.new(DLL, 'Get_Pos_X', nil, 'l')  的错误)
$Get_Pos_X = Win32API.new(DLL, 'Get_Pos_X', nil, 'l')
$Get_Pos_Y = Win32API.new(DLL, 'Get_Pos_Y', nil, 'l')
$Left = Win32API.new(DLL, 'Get_Left', nil, 'l')
$Right = Win32API.new(DLL, 'Get_Right', nil, 'l')
$Mouse_Close =  Win32API.new(DLL, 'Mouse_Close', nil, nil)
$Mouse_Start = Win32API.new(DLL, 'Mouse_Start', 'l', 'l')

DLL内容(VB)
  1. Private Type POINTAPI
  2. x As Long
  3. Y As Long
  4. End Type
  5. Dim p As POINTAPI
  6. Dim l As Long
  7. Dim hd
  8. Dim KeyTepy As Integer
  9. Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  10. Private Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long
  11. Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  12. Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
  13. Function Get_Pos_X() As Long
  14. If p.x < 0 Then
  15.   p.x = 0
  16. End If
  17. If p.x > 544 Then
  18.   p.x = 544
  19. End If
  20. Get_Pos_X = p.x
  21. End Function
  22. Function Get_Pos_Y() As Long
  23. If p.Y < 0 Then
  24.   p.Y = 0
  25. End If
  26. If p.Y > 416 Then
  27.   p.Y = 416
  28. End If
  29. Get_Pos_Y = p.Y
  30. End Function
  31. Function Get_Left() As Integer
  32.   Get_Left = 0
  33.   If KeyTepy = 1 Then
  34.     Get_Left = 1
  35.   End If
  36. End Function
  37. Function Get_Right() As Integer
  38.   Get_Right = 0
  39.   If KeyTepy = 2 Then
  40.     Get_Right = 1
  41.   End If
  42. End Function
  43. Function Updata_Mouse() As Long
  44. If Mouse_Open = True Then
  45.    Call GetCursorPos(p)
  46.    l = ScreenToClient(hd, p)
  47.    Dim x     As Long
  48.    x = GetAsyncKeyState(1)       '左键
  49.    KeyTepy = 0
  50.    If x = -32767 Then
  51.      KeyTepy = 1
  52.    End If
  53.    
  54.    x = GetAsyncKeyState(2)       '右键
  55.    If x = -32767 Then
  56.      KeyTepy = 2
  57.    End If
  58.    Updata_Mouse = 0
  59. Else
  60.    Updata_Mouse = 1
  61. End If
  62. End Function
  63. Sub Mouse_Close()
  64.    ShowCursor (1)
  65.    l = ""
  66.    hd = ""
  67.    KeyTepy = ""
  68. End Sub
  69. Function Mouse_Start(hWnd As Long) As Long
  70. If Mouse_Open = False Then
  71.    ShowCursor (0)
  72.    hd = hWnd
  73.    Mouse_Open = True
  74.    Mouse_Start = 0
  75. Else
  76.    Mouse_Start = 1
  77. End If
  78. End Function
复制代码

作者: 小真·爱舞    时间: 2008-2-19 01:16
为什么要发短信问我|||
我又不玩API- - [LINE]1,#dddddd[/LINE]版主对此帖的评论:『原来你也收到了OTL……API我也不会= =』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: yangff    时间: 2008-2-19 01:19
5555555555555555555555
泪奔去....
PS
How玩API
作者: 水迭澜    时间: 2008-2-19 03:02
{/hx}正在学习正在学习-v-+
为什么第一个x是小写而y是大写捏?
作者: yangff    时间: 2008-2-19 05:27
是vb的问题




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1