用VB编一个程序,能不能控制鼠标单击屏幕上某个固定的点(坐标)

用VB编一个程序,能不能控制鼠标单击屏幕上某个固定的点(坐标),第1张

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系统指针(就是鼠标控制移动那个)的移动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10130385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存