VB本身是没有这样的功能的,所以要借助Windows API调用来实现啦,两个方面:
(一)对鼠标的停留位置做出判断,也就是得到鼠标在屏幕上停留的位置。
(二)将鼠标的移动到所确定的位置上。 而实现这个功能则要使用到SetCursorPos这个函数,此函数的功能是设定鼠标位置。
这个函数的声明如下:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
而仅仅有这个函数是不够的,还需要定义一个type格式的自定义变量。定义为:
Public Type POINTAPI
x As Long
y As Long
End Type
它用于存放鼠标的位置(屏幕上的位置)。
但是一个新的问题又出现了:鼠标到底放在哪里呢?也就是如何获得屏幕上的位置。
这个问题就要用到另一个函数:GetCursorPos,它的功能是获得屏幕上鼠标的坐标。
它的声明如下:
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
这样就可以通过GetCursorPos函数获得鼠标的位置,存放到一个POINTAPI变量中,再通过SetCursorPos函数来设置鼠标的位置。
这样就可以十分顺利的来控制鼠标了,祝你顺利!
F1 显示当前程序或者windows的帮助内容。
F2 当你选中一个文件的话,这意味着“重命名”
F3 当你在桌面上的时候是打开“查找:所有文件” 对话框
F10或ALT激活当前程序的菜单栏
windows键或CTRL+ESC 打开开始菜单
CTRL+ALT+DELETE 在win9x中打开关闭程序对话框
DELETE 删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是
放入回收站
CTRL+N 新建一个新的文件
CTRL+O 打开“打开文件”对话框
CTRL+P 打开“打印”对话框
CTRL+S 保存当前 *** 作的文件
CTRL+X 剪切被选择的项目到剪贴板
CTRL+INSERT 或 CTRL+C 复制被选择的项目到剪贴板
SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置
ALT+BACKSPACE 或 CTRL+Z 撤销上一步的 *** 作
ALT+SHIFT+BACKSPACE 重做上一步被撤销的 *** 作
Windows键+M 最小化所有被打开的窗口。
Windows键+CTRL+M重新将恢复上一项 *** 作前窗口的大小和位置
Windows键+E 打开资源管理器
Windows键+F 打开“查找:所有文件”对话框
Windows键+R 打开“运行”对话框
Windows键+BREAK 打开“系统属性”对话框
Windows键+CTRL+F打开“查找:计算机”对话框
SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单
SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo
rd的时候按下不放,可以跳过自启动的宏
ALT+F4 关闭当前应用程序
ALT+SPACEBAR打开程序最左上角的菜单
ALT+TAB 切换当前程序
ALT+ESC 切换当前程序
ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换
PRINT SCREEN将当前屏幕以图象方式拷贝到剪贴板
ALT+PRINT SCREEN将当前活动程序窗口以图象方式拷贝到剪贴板
CTRL+F4 关闭当前应用程序中的当前文本(如word中)
CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前
一个窗口)
在IE中:
ALT+RIGHT ARROW 显示前一页(前进键)
ALT+LEFT ARROW 显示后一页(后退键)
CTRL+TAB在页面上的各框架中切换(加shift反向)
F5 刷新
CTRL+F5 强行刷新
用SendInput函数。第二个参数是一个INPUT结构体的数组,第一个参数代表这个数组有几个元素,最后一个参数代表这个数组中每一个元素是几个字节。
#include <windowsh>
#pragma comment(lib, "user32lib")
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInputtype = INPUT_MOUSE;
mouseInputmidx = 10;
mouseInputmidy = 10;
mouseInputmidwFlags = MOUSEEVENTF_MOVE;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
以上代码把鼠标往右移动10往下移动10。使用MOUSEEVENTF_ABSOLUTE这个flag可以指定绝对位置,它把屏幕右下角定义为65535, 65535把左上角定义为0, 0所以
#include <windowsh>
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInputtype = INPUT_MOUSE;
mouseInputmidx = 32767;
mouseInputmidy = 32767;
mouseInputmidwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
是移动到屏幕正中央。
至于鼠标点击:
#include <windowsh>
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInputtype = INPUT_MOUSE;
mouseInputmidwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &mouseInput, sizeof(mouseInput));
mouseInputmidwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
就是“按下”再“d起来”。双击就是来两次,右击就是LEFT改成RIGHT。
用c语言写这个很麻烦的,其实有更好的工具,------《按键精灵》 很好用,用它写点击图标的程序很简单,就几行代码,楼主可以试试,但如果你非要用c语言写的话可以去了解下系统给鼠标的api ,相对来说很麻烦的。
-物联网校企联盟技术部
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo ); 4个参数都是输入参数。 bVk:键名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。 keybd_event(VK_MENU,0xb8,0 , 0); -- 按下Alt 键 keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 放开 Alt 键 (复位,d上来) === 下面程序模拟按 notepad 编辑器。等于C语言 system("notepad"); d出 记事本。
以上就是关于用VB编一个程序,能不能控制鼠标单击屏幕上某个固定的点(坐标)全部的内容,包括:用VB编一个程序,能不能控制鼠标单击屏幕上某个固定的点(坐标)、联想笔记本电脑怎么用键盘控制鼠标、请问在C语言编程下怎么控制windows系统指针(就是鼠标控制移动那个)的移动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)