Windows_API_函数.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
API函数: 通常,制作OCX是离不开API的,对于API函数,主要就是参数的使用方法,我们虽然不能提供很全面的内容供你参考,但可以就自己积累的一些函数特别是实例代码写出来,这些代码都是在VB6中调试过正确的,你只要依例句写出来就可以了,对每一个API,我们都提供了实例代码。 鼠标类函数 得到当前鼠标指针的坐标:GetCursorPos函数 声明: public Type POINTAPI x As Long y As Long End Type Public Declare Function GetCursorPos Lib user32 _ (lpPoint As POINTAPI) As Long 参数缺省为byref指针传递? 调用:先声明一个自定义类型变量: Dim z As POINTAPI Private Sub Timer1_Timer() GetCursorPos z 注:这里z是引用地址传递,其值改变,就象返回值 Label1.Caption = z.x Label2.Caption = z.y End Sub 参数lpPoint返回鼠标在屏幕上坐标(不限于程序窗体),如将鼠标指针移到屏幕左上角时,z.x=0,z.y=0,而鼠标移到屏幕右下角时,z.x=639;z.y=477 =========================================================== 设置鼠标在屏幕上的坐标 : SetCursorPos函数 声明: Private Declare Function SetCursorPos Lib user32 (ByVal X As Long, ByVal Y As Long) As Long 调用如:Private Sub Command1_Click() Call SetCursorPos(600, 100) 将鼠标定位到屏幕(600,100)处。 End Sub 很简单,注:屏幕是以象素为单位的(与屏幕分辨率设定有关)。不是缇。? ========================================================== 自动按下鼠标按纽:mouse_event过程函数 该过程能在程序中模拟手工按下或抬起鼠标,移动鼠标的操作,声明: Public Declare Sub mouse_event Lib user32 (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) 一般只用它的第1个参数,指明按下或抬起哪个按纽,如果要模拟鼠标移动,则要用到第2,3个参数dx和dy, 而最后面两个参数始终不用。 第1个参数dwFlags的可能设置值如下: MOUSEEVENTF_LEFTDOWN=H2: 模拟鼠标左键按下? MOUSEEVENTF_LEFTUP :模拟鼠标左键抬起? MOUSEEVENTF_RIGHTDOWN: 模拟鼠标右键按下? MOUSEEVENTF_RIGHTUP :模拟鼠标右键抬起? MOUSEEVENTF_ABSOLUTE=H8000: 由参数dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元? MOUSEEVENTF_MOVE=H1 :移动鼠标? 调用如:在屏幕上指定位置按下鼠标左键: Public Const MOUSEEVENTF_LEFTDOWN = H2 Public Declare Function SetCursorPos Lib user32 (ByVal x As Long, ByVal y As Long) As Long Private Sub Timer1_Timer() SetCursorPos 300, 20 mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 End Sub 模拟鼠标移动需要设置其dx和dy参数来确定鼠标位置,这时第1个参数用MOUSEEVENTF_MOVE加上MOUSEEVENTF_ABSOLUTE组合,如下: Public Const MOUSEEVENTF_MOVE = H1 Public Const MOUSEEVENTF_ABSOLUTE = H8000? mouse_event MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, 65535, 65535, 0, 0 移动鼠标 mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0,

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档