VB6.0中,form_load里输入以下代码ret = setcursorpos(1000, 1000),为什么会出现文件未找到:user32,unload和load用法
有问题就有答案
Q1:VB6.0中,form_load里输入以下代码ret = setcursorpos(1000, 1000),为什么会出现文件未找到:user32
需要在前面加上声明:Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As LongPrivate Sub Form_Load()ret = SetCursorPos(1000, 1000)End Sub
Q2:VB里面单击按钮运行程序
外壳()函数额可以调用第三方程序关机1是窗子管理关机的程序,直接调用Shell "cmd.exe /c关闭-s -t 10 -c "另外,你说要别的办法,用windows API:exitwindowsexitwindowsex需要获取权限主要代码:私有子窗体_加载()Dim hpprocess句柄As Long Dim hTokenHandle As Long Dim tmpLuid As LUID Dim tkpNew As TOKEN _ priorities Dim tkpprevouss As TOKEN _ priorities Dim lbuffernesed As Long "获取当前进程的一个伪句柄hpprocesshandle=GetCurrentProcess()OpenProcessToken hpprocesshandle,TOKEN _ ADJUST _ priories或TOKEN_QUERY,htokenhandlelookupprivilegevalue " ",SeShutdownPrivilege " ",tmpLuid tkpNew .PrivilegeCount=1 tkpNew .该uid=tmpLuid tkpNew .属性=SE _ PRIVATE _ ENabled lbufferneed=0 "允许当前应用程序有关闭操作系统的权限AdjustTokenPrivileges hTokenHandle,False,tkpNew,Len(tkpPrevious),tkpPrevious,lbbuffenerededend SubPrivate子命令1 _ Click()"重新启动计算机ExitWindowsEx EWX_REBOOT,0End子命令子命令2 _单击()"关闭计算机ExitWindowsEx EWX_FORCE或EWX _关机,0结束子命令子命令4 _ Click()ExitWindowsEx EWX _注销,0结束子命令
Q3:控制鼠标不静止的vb代码2需要挂机,最好一直抖动?
代码没有问题3测试正常4这段代码需要添加一个时钟控制5发生此控件时,timer1代码会定期运行6您缺少控件,因此您将提示一个错误7
Q4:在vb中,(在文本框或者其他控件)输入窗体坐标时,鼠标就能指到该坐标的位置上8求代码9
加入两个文本控件加入一个命令控件私有声明函数SetCursorPos Lib“用户32”(由Val a As Long,由Val b As Long)As Long私有子命令1_Click()设置光标值(表单1 .左)\ 15值(文本110文本)\ 15、Val(表单111顶部)\ 15值(文本212文本)\ 15结束子文本一的内容是X轴文本2的内容是Y轴SetCursorPos函数的值是换算成窗体的x、Y轴值的十五分之一
Q5:用vb编写程序,键盘控制鼠标点击
用键盘事件接收键盘输入,然后用API SetCursorPos来移动鼠标到指定坐标鼠标事件来模拟鼠标单击声明部分私有声明函数SetCursorPos Lib“用户32”(按val x As Long,按val y As Long)As Long私有声明子鼠标_事件Lib "user32" (ByVal dwFlags As Long,ByVal dx As Long,ByVal dy As Long,ByVal cButtons As Long,ByVal dwExtraInfo As Long)核心代码SetCursorPos j,i(j和我自己写你想要的坐标)鼠标事件鼠标事件f _左下或" MOUSEEVENTF_LEFTUP,0,0,0 "鼠标单击一次
Q6:VB模拟鼠标点击
私有声明子鼠标事件库‘user 32’(ByVal dwFlags As Long,ByVal dx As Long,ByVal dy As Long,ByVal cButtons As Long,ByVal dwExtraInfo As Long)Const mouseventf _ LEFTDOWN=H2;const MOUSEEVENTF _ LEFTUP=H4;const MOUSEEVENTF _ MIDDLEDOWN=H20;Const MOUSEEVENTF _ MIDDLEUP=H40const MOUSEEVENTF _ MOVE=H1;const MOUSEEVENTF _ ABSOLUTE=h 8000;Const MOUSEEVENTF _ RIGHTDOWN=H8Const MOUSEEVENTF _ RIGHTUP=H10以上是调用系统函数的语句,没什么好解释的13直接复制到文件开头就可以了,这样就可以使用系统API函数mouse_event(其他API可以自己上网查,还有很多素材,比如keybd_event)14第一个参数描述你的鼠标做了什么http://redoufu.com/。具体来说,下面的MOUSEEVENTF_ABSOLUTEdx和dy指定了鼠标坐标系中的绝对位置16在鼠标坐标系中,Screen在水平和垂直方向上平均分为6553565535个单位-mouseventf _ MOVE移动鼠标MOUSEEVENTF _ LEFTDOWN模拟鼠标左键按下MOUSEEVENTF _ LEFTUP模拟鼠标左键抬起MOUSEEVENTF _ RIGHTDOWN模拟鼠标右键按下MOUSEEVENTF _ RIG17HTUP模拟鼠标右键按MOUSEEVENTF_MIDDLEDOWN模拟鼠标中键按MOUSEEVENTF_MIDDLEUP模拟鼠标中键再按X、Y坐标(第一项使用MOUSEEVENTF_ABSOLUTE作为绝对坐标,否则为相对坐标),后一个参数按键没用,最后一个是额外信息,用于特殊驾驶18如果你做一些像按钮精灵一样的事情,那是没有用的19请注意,第一个参数可以相互兼容,这意味着一次可以有许多效果20当然也可以分开写两遍,这样更清楚21
转载请注明:VB6.0中,form_load里输入以下代码ret = setcursorpos(1000, 1000),为什么会出现文件未找到:user32,unload和load用法 | 热豆腐网址之家