1. 写了一个鼠标锁程序,但是ClipCursor函数的.net下调用却出了点问题。以下是代码,调试时出现
  2. [quote]对 PInvoke 函数“鼠标锁!鼠标锁.Form1::ClipCursor”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。[/quote]
  3. 查找了MSDN中API函数在.net上运行发现,在VB6中的数据类型long在VB2005中要变成integer,我改过来,但是仍然出现错误。先在这里描述一下问题,等待解决问题的时候,会将结果写出来。
  4. Public Class Form1
  5. Public Structure RECT
  6. Dim Left As Integer
  7. Dim Top As Integer
  8. Dim Right As Integer
  9. Dim Bottom As Integer
  10. End Structure
  11. Public Declare Function ClipCursor Lib "user32" (ByVal lpRect As RECT) As Integer
  12. Public Sub lockMouse()
  13. Dim lockRECT As RECT
  14. lockRECT.Left = 0
  15. lockRECT.Top = 0
  16. lockRECT.Right = 0
  17. lockRECT.Bottom = 0
  18. ClipCursor(lockRECT)
  19. End Sub
  20. Public Sub openMouse()
  21. Dim openRECT As RECT
  22. openRECT.Left = 0
  23. openRECT.Top = 0
  24. openRECT.Right = Me.Width
  25. openRECT.Bottom = Me.Height
  26. ClipCursor(openRECT)
  27. End Sub
  28. Private Sub btnLock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLock.Click
  29. lockMouse()
  30. End Sub
  31. Public password As String
  32. Private Sub btnSetPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetPassword.Click
  33. Try
  34. password = InputBox("请输入你的密码:")
  35. Catch ex As Exception
  36. MsgBox("请输入正确有效的密码", MsgBoxStyle.OkOnly)
  37. End Try
  38. End Sub
  39. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  40. End Sub
  41. Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
  42. Dim OpenPassword As String
  43. Try
  44. OpenPassword = InputBox("请输入密码:")
  45. If OpenPassword = password Then
  46. openMouse()
  47. Else
  48. MsgBox("密码错误")
  49. End If
  50. Catch ex As Exception
  51. MsgBox(ex.Message)
  52. End Try
  53. End Sub
  54. End Class

出现错误的原因出于声明变量的方式上。

之前是用byval按值传递,因为它传递的是数值,如果每次按值传递的话,原函数是指针传递,就会出现参数类型不符,所以应该用Byref.

ClipCursor函数引用注意相关推荐

  1. js函数引用、函数调用与回调函数

    var function1=function2; 1.调用function1()函数的结果正好与调用function2()相同,因为两个函数都引用了相同的代码,因此函数名称也称为函数调用. 2.引用函 ...

  2. 【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )

    文章目录 一.函数头声明 二.函数参数 1.默认参数值 2.具名参数 三.Unit 函数 四.TODO 函数抛出异常返回 Nothing 类型 五.反引号函数名 六.匿名函数 七.匿名函数的函数类型 ...

  3. lambda函数引用学习记录

    lambda表达式 当一个函数中的参数有一个接口,并且接口中只有一个需要实现的方法(java8之后接口中可以有默认方法default修饰) 比如接口: interface MyInterface{pu ...

  4. Python函数引用

    python中函数引用包括值传递和引用传递 python中函数的参数是引用传递 当形参是不可变对象如:数值.字符串,因为变量不能修改,所以运算不会影响到变量自身 def change(a): # 形参 ...

  5. PHP生成器与函数引用的方法

    (PHP 5 >= 5.5.0, PHP 7) 生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低. 生成器允许你在 fo ...

  6. 解决PyCharm中opencv的cv2不显示函数引用,高亮提示找不到引用

    类似这种,鼠标放在高亮处会提示在 '__init__.py' 中找不到引用之类的,图截的别人的,我的已经弄好了截不了 先确定下imread()等方法是否能用,我发现我之前的问题其实是输入cv2.之后不 ...

  7. python中闭包函数_Python的闭包问题(关于内嵌函数引用闭包函数的变量问题)

    一.闭包: 记得:闭包的特性就是:内嵌函数会保存它引用的外围函数的变量值. 闭包概念:在一个内部函数中,对外部作用域的变量进行引用,(并且一般外部函数的返回值为内部函数),那么内部函数和被引用的变量等 ...

  8. php function 返回值_PHP函数引用返回的实例详解

    引用返回 手册里是这么写的:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时.不要用返回引用来增加性能,引擎足够聪明来自己进行优化.仅在有合理的技术原因时才返回引用!要返回引用 当你想将函数 ...

  9. 菜鸟学习JavaScript小实验之函数引用

      function tt()         {             alert(11);         }         var b = tt;         var b1 = tt() ...

最新文章

  1. 子网掩码 以及 子网数为什么减去全0和全1
  2. mysql表误删回复_mysql 找回误删表的数据方法(必看)
  3. linux日志绕接,[判断题] 绕接式保安接线排按结构分为固定式和旋转式。
  4. linux管理员常用的命令分享
  5. Python中利用LSTM模型进行时间序列预测分析
  6. Android GUI之Window、WindowManager
  7. vux安装中遇到的坑(转)
  8. python打印索引序号_打印带有索引的矩阵python
  9. 学java到底好在哪里你知道吗?(附低配版王者荣耀开发视频)
  10. ask的matlab代码,二进制ASK调制matlab仿真代码
  11. 使用RandomString设置随机经纬度-jmeter
  12. 香橙派 OrangPi PC 安装Lakka游戏系统及使用指南
  13. 软件开发的质量及效率
  14. 服装erp软件如何提高企业利润
  15. Git正解 脱水版 【2. Git基础】
  16. 使用BootStrap.编写网页
  17. 删除K个数字,使剩下的数字串最大(最大数字)
  18. ENVI 混合像元分解
  19. ICPR 2020 U∧2-Net之AI生成肖像画,精细到毛发!
  20. spooling 技术工作原理

热门文章

  1. 老生常谈,TCP/UDP协议
  2. matlab指数转换,[转]MATLAB 线性拟合与指数拟合
  3. 基于MT7688MT7628 的Wi-Fi 智能模块对比
  4. 计算机视觉 图像基本操作
  5. 触发器(数据库必学)
  6. 6.20python作业
  7. 2019一键清空朋友圈_最新2018再见2019你好的朋友圈说说 2019新的开始的励志说说...
  8. 四舍五入取整特殊数据处理
  9. B/S电子病历编辑器源码,电子病历模板制作
  10. (13)达梦DMETL数据交换平台技术原理及应用介绍