使用程序模拟鼠标点击QQ消息框中的关闭按钮!!!!!!!!!!!!!!!!!!!!!!!

liuguozhong 2005-01-21 02:44:44
目的:使用程序模拟鼠标点击QQ消息框中的关闭按钮
问题:不能实现(b=0),用spy++查看,关闭按钮的类在一个叫#32770 (Dialog)的类中,望高人指点!
Option Explicit
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const BM_CLICK = &HF5
Private Sub Form_DblClick()
Dim t As Long
Dim b As Long
Dim subhwnd As Long
t = FindWindow(vbNullString, "与 安安 聊天中")
Debug.Print t
b = FindWindowEx(t, ByVal 0&, "Button", "关闭(&C)")
Debug.Print b
SendMessage b, BM_CLICK, 0, 0

End Sub
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuguozhong 2005-01-21
  • 打赏
  • 举报
回复
啊?!
成功少?!
dongge2000 2005-01-21
  • 打赏
  • 举报
回复
呵呵,QQ灌水机吧?
mouse_event

VB声明
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
说明
模拟一次鼠标事件
参数表
参数 类型及说明
dwFlags Long,下述标志的一个组合
MOUSEEVENTF_ABSOLUTE dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
MOUSEEVENTF_MOVE 移动鼠标
MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下
MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起
MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下
MOUSEEVENTF_RIGHTUP 模拟鼠标右键按下
MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下
MOUSEEVENTF_MIDDLEUP 模拟鼠标中键按下
dx Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动
dy Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动
cButtons Long,未使用
dwExtraInfo Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序
注解
进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度

----------------
成功的很少。
liuguozhong 2005-01-21
  • 打赏
  • 举报
回复
我并不是只要关闭,我要的是实现按动这几个按钮的功能~
dongge2000 2005-01-21
  • 打赏
  • 举报
回复
不如发个WM_Close消息了。
liuguozhong 2005-01-21
  • 打赏
  • 举报
回复
顶一顶!
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 使用方法 准备数据 准备好`data/members.json`。`data/members.json`文件格式为`Array<{cardName:string;qqId:number;}>`,存储QQ所有成员的群名片和QQ号。 设置点坐标 程序通过模拟鼠标和键盘按键来工作,需要设置QQ群成员搜索框的点坐标和QQ私聊消息输入框的点坐标。 打开要群发的QQ群界面,建议将其最大化并收起群公告面板使群成员面板占领全部空间。点窗口右上角最小化按左侧的下箭头,取消“合并会话窗口”的勾选。然后,点群成员搜索按使搜索框出现。启动QQ自带的截图功能,从屏幕左上角开始截图,将光标拖动到群成员搜索框内,记下此时截图工具显示的截图像素尺寸X*Y(也即点点屏幕坐标),将其填入程序设置的“QQ群成员搜索框坐标”。 然后打卡与任一群成员的聊天界面,以同样的方式确定聊天输入框内的点坐标,填入程序设置,点确定。同时,借助此聊天窗口,点发送按右侧的下拉菜单,选择按`Ctrl+Enter`键发送消息。 每次点确定关闭设置对话框时,设置都会保存,因此下次打开程序时无需重新设置。 测试运行 打开程序设置,勾选“仅粘贴消息而不发送”,点确定。回到程序主界面后,**首先**在界面上方的输入框输入要私聊发送的候选消息,每行一条,可以包含emoji表情(可以只输入一条,输入多条候选消息是为了防止大量群发相同消息导致QQ被封号)。然后在界面部左侧输入框输入所有要发起私聊的成员的群名片(完整的群名片或一部分),每行一个。之所以强调首先输入私聊消息,是因为在正式使用时,如果首先输入了私聊对象列表,在编辑私聊消息时可能会不小心按到`Caps Lock`键使程序意外启动。 然后打开QQ,打开要群发的QQ群界面,调整窗口到确定点坐标时的状态(也要点群成员搜索图标使群成员搜索框出现)。现在,按`Caps Lock`键即可启动程序。观察程序是否能够逐个打开私聊窗口,把候选私聊消息循环粘贴到消息输入框,然后关闭私聊窗口,发起下一次私聊。程序运行过程可以随时再次按下`Caps Lock`键停止程序运行,之后可以继续按`Caps Lock`键来重启程序,继续未完成的私聊。途暂停程序运行时,程序会保证完成当前私聊的发送后再停止。 程序在每个操作之间都设置了一定时间间隔,确保在QQ界面稳定后再进行操作。如果程序预置的操作间隔过快使得程序无法正常进行私聊,请将程序设置的“长操作间隔”设得更大一些。 在全部私聊结束后,如果因为在群成员数据库未找到而未能与部分目标完成私聊,程序使用对话框进行提示。 正式使用 测试运行成功后,打开程序设置,去掉“仅粘贴消息而不发送”的勾选,点确定。然后按照测试运行的使用步骤进行使用即可。 ## 基本原理 按`Caps Lock`键启动程序后,程序首先读取界面部左侧输入框每一行的私聊目标姓名,在群成员数据库(`data/members.json`)进行查找,如果有某一群成员的群名片包含该目标姓名,则将其添加到私聊任务列表;否则将其加入被抛弃的目标列表。然后,程序以模拟键鼠操作的形式,循环执行每一个私聊任务。对于每一个私聊任务,程序会自动点QQ群搜索框,在剪切板上设置当前私聊目标的QQ号,发送`Ctrl+V`按键事件将其粘贴进搜索框,随后按下`Enter`键打开私聊窗口,并在剪切板上设置当前的候选私聊消息程序聚焦私聊窗口的消息输入框,发送`Ctrl+A`和`Ctrl+V`按键事件将私聊消息粘贴入消息输入框(由于消息输入框可能保留着之前未发送的消息,按下`Ctrl+A`可确保在粘贴时已有消息被全选,可将已有消息覆盖)。然后程序发送`Ctrl+Enter`按键事件发送消息,之后发送`Alt+F4`按键事件关闭当前私聊窗口,进入下一次私聊。
===============组件使用简要介绍=============== 1、在页面引入ymPrompt.js。如:<script type="text/javascript" src="ymPrompt.js">中引入对应的皮肤文件的CSS,如: 3、自定义组件的默认配置信息(此步骤可选,该方法可以在任意时间调用) 页面的js通过ymPrompt.setDefaultCfg(cfg)方法修改组件部分或全部的默认属性。 如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}) 组件的默认配置(对于没有设定的项将采用该配置项的默认值): { titleBar:true, //显示标题栏 fixPosition:true, //随滚动条浮动 dragOut:false, //不允许拖出页面 autoClose:true, //点后自动关闭页面 maskAlphaColor:'#000', //遮罩透明色 maskAlpha:0.1, //遮罩透明度 winAlpha:0.8, //拖动窗体时 窗体的透明度,默认为0.8 title: '标题', //消息框标题 message: '内容', //消息框按 width: 300, //宽 height: 185, //高 iframe:false, btn:null, icoCls:'', handler: function(){} //回调事件 showMask: true, //是否显示遮罩 winPos: 'c', //弹出窗口默认位置 closeBtn:true, //是否显示关闭 //按文本,可通过自定义这些属性实现本地化 closeTxt: '关闭', okTxt:' 确 定 ', cancelTxt:' 取 消 ' } 4、根据您的需要调用相应的消息函数(两种参数传入方式): ymPrompt.alert(参数) //消息提示类型 ymPrompt.succeedInfo(参数) //成功信息类型 ymPrompt.errorInfo(参数) //错误信息类型 ymPrompt.confirmInfo(参数) //询问消息类型 ymPrompt.win(参数) //自定义窗口类型 参数传入方式包含两种: 第一种即传统的参数传入,按照顺序传入相应的参数值即可(一定要按照顺序),对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题') 参数顺序:message,width,height,title,handler,maskAlphaColor,maskAlpha, iframe,icoCls,btn,autoClose,fixPosition,dragOut,titleBar,showMask,winPos,winAlpha (推荐)第二种即JSON的传入方式,需要指定字段名,没有顺序,根据需要设定相关属性。如ymPrompt.alert({title:'标题',message:'内容'}) 五个方法的参数意义完全相同(所有参数均为可选,不传入则使用默认参数值),具体含义如下: message:消息组件要显示的内容,默认为“内容”。 width:消息框的宽度,默认为300。 height:消息框的高度,默认为185。 title:消息组件标题,默认为“标题” handler:回调函数。当确定/取消/关闭被点时会触发该函数并传入点的按标识。如ok代表确定,cancel代表取消,close代表关闭 maskAlphaColor:遮罩的颜色,默认为黑色。 maskAlpha:遮罩的透明度,默认为0.1。 fixPosition:设定是否弹出框随滚动条一起浮动,保持在屏幕的固定位置,默认为true dragOut:设定是否允许拖出屏幕范围,默认为false。 autoClose:设定用户点窗口后自动关闭窗口,默认为true(设定为false后程序可以通过调用close方法关闭)。 titleBar:是否显示标题栏,默认显示。注意,如果没有标题栏需要自己在程序控制关闭。 showMask:是否显示遮罩层,默认为true winPos:弹出窗口的位置,支持8种内置位置(c,l,t,r,b,lt,rt,lb,rb)及自定义窗口坐标,默认为c。 各参数意义:c:页面间,l:页面左侧,t:页面顶部,r:页面右侧,b:页面顶部,lt:左上角,rt:右上角,lb:左下角,rb:右下角 winAlpha:弹出窗体拖动时的透明度,默认为0.8 //以下三个参数主要用于win方法(当然你也可以通过设定这些覆盖前面四个消息类型的默认属性)。 iframe:是否使用iframe方法加载内容,该属性如果为true或者object,组件则尝试将message内容作为url进行加载(如果属性值为一个object,则将object的内容添加为iframe的属性,如iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}则iframe的id为myId,name为myName,src为http://www.baidu.com)。默认为false。 icoCls:图标类型。传入的内容为className,具体写法可以参考ymprompt.css对图标的定义方式。默认为空。 btn:按定义。传入的是数组形式。每个按的格式为['按文本','按标识'], 如[['确定','ok'],['取消','cancel'],['关闭','close']]等。 注意单个按应该是这样的:[['确定','ok']] closeBtn:是否显示关闭,默认为true(显示)。 //以下参数可用于对组件语言本地化,如用于英文等系统 okTxt:确定按的文本描述,默认为“确定” cancelTxt:取消按的文本描述,默认为“取消” closeTxt:关闭的文本描述(鼠标放在关闭上时显示),默认为“关闭” 5、操作接口: 属性: version:当前版本号 如:alert(ymPrompt.version) pubDate:当前版本的发布日期 如:alert(ymPrompt.pubDate); cfg:组件的当前的默认配置 方法: setDefaultCfg(cfg):设定组件的默认属性,设定后的所有弹出均默认采用cfg的设置。 如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}); //设定遮罩层颜色为蓝色,透明度0.2 getPage():在iframe窗口模式下,获取到iframe的dom对象。 如:alert(ymPrompt.getPage().contentWindow.document.body.outerHTML); //获取iframe页面的html内容 resizeWin(w,h):通过程序动态修改窗口的大小。参数:w:宽度,h:高度 如:ymPrompt.resizeWin(400,300); //修改弹出框宽度为400px,高度为300px doHandler(sign,autoClose):模拟触发某个按的点事件。参数sign:传给回调函数的标识,autoClose:是否自动关闭窗口(默认采用全局配置) 如:ymPrompt.doHandler('ok',false); //触发确定按的点事件,并且执行完回调函数后不关闭窗口 getButtons():获取当前弹出窗口的所有按对象,返回结果是一个对象集合(数组)。 如:var btnID=ymPrompt.getButtons()[0].id; //获取第一个按的id close():关闭当前弹出的窗口 如:ymPrompt.close() 6、其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用: 在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行
EQ使用说明书 配置源程序 发布与运行 (1)将光盘\TM\02\EQ文件夹拷贝到Eclipse的工作空间。 (2)启动Eclipse。 (3)选择“文件”/“导入”菜单项,展开“常规”节点,选择“现有项目到工作空间”子节点,如图1.1所示。 图1.1 “导入”窗口 (4)单【下一步】按,单【浏览】按,选择程序所在目录,然后勾选“将项目复制到工作空间”复选框,如图1.2所示。 图1.2 “导入”窗口 (5)单【完成】按。 (6)在项目上单鼠标右键,依次选择“新建”/“文件夹”命令,新建一个“lib”文件夹,然后,将JavaDB数据库驱动文件“derby.jar”拷到该文件夹。在该文件上单鼠标右键,选择“构建路径”/“添加至构建路径”命令。 (7)在导入工程的src文件,找到可执行的主类,在该类上单鼠标右键,选择“运行方式”/“Java应用程序”项,如图1.3所示,完成程序配置 图1.3 选择菜单项 使用说明 系统介绍 企业内部通讯系统必须提供网络通讯功能、在通讯过程禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上级资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境使用了多个操作系统来完成不同的工作。另外,系统不需要使用服务器转和记录通讯内容,可以独立完成通讯任务,排除职工对领导监视工作进度等逆反心理。 操作流程 使用程序时,请按以下步骤操作: (1)单“系统设置”选项卡,设置系统、IP搜索范围和服务器登录设置。如图1.4所示。 图1.4 系统设置 图1.5 用户搜索 (2)单“系统操作”选项卡,搜索新的用户,如图1.5所示,如果你知道对方的IP地址,单“用户列表”选项卡,选的一个用户单鼠标右键弹出快捷菜单,如图1.6所示。在该菜单,可对用户信息进行添加、删除、用户更名、访问主机资源及公共程序等操作。 图1.5 系统操作 图1.6 使用信使发布消息 (3)如果对方未开启企业通信系统的情况下,向对方发送信史信息,如图1.6所示。 (4)本程序还支持群发功能,按住键盘上的键,选择需要发送信息的人,然后,单鼠标右键选择“信使群发”命令,进行信使群发操作。
前言 第1章 消息框和对话框 1.如何在窗口程序创建消息框 2.如何使用资源字符串设置消息框内容 3.如何在消息动态显示资源字符串 4.如何设置消息提示框的标题文字 5.如何使消息提示框的标题右对齐 6.如何在消息提示框绘制表格 7.如何在消息提示框设置图标 8.如何在消息提示框显示问号图标 9.如何在消息提示框设置按 10.如何在消息提示框显示“是”、“否”按 11.如何在消息提示框显示“重试”、“取消”按 12.如何设置消息提示框的默认选择按 13.如何确定用户在消息选择的按 14.如何设置“文件”对话框的标题文字 15.如何设置“文件”对话框的过滤器 16.如何设置“文件”对话框的初始目录 17.如何设置“文件”对话框的初始文件名 18.如何使“文件”对话框自动添加扩展名 19.如何实现“文件”对话框的多重选择功能 20.如何在“文件”对话框选择多个文件 21.如何从“文件”对话框获取文件标题名 22.如何从“文件”对话框获取文件扩展名 23.如何在“文件”对话框预览位图文件 24.如何创建一个文件“保存”对话框 25.如何在程序启动时弹出“文件”对话框 26.如何从“文件夹”对话框选择文件夹 27.如何在“文件夹”对话框新建文件夹 28.如何使用“颜色”对话框设置颜色 29.如何在“颜色”对话框显示帮助按 30.如何禁止显示“颜色”对话框的自定义颜色 31.如何禁止“颜色”对话框的自定义颜色按 32.如何使用“字体”对话框设置字体和颜色 33.如何使用“查找与替换”对话框 34.如何显示操作系统默认的“关于”对话框 第2章 常用控件和组件 35.如何设置按控件的标签文本 36.如何设置按控件的显示字体 37.如何动态禁用和启用按控件 38.如何动态隐藏和显示按控件 39.如何在按控件上动态加载图标 40.如何在按控件上动态加载位图 4 1.如f可制作图标和文本共存的按 42.如何制作不规则的多边形按 43.如何制作GIF动画效果的按 44.如何制作AVI视频效果的按 45.如何在程序动态创建按控件 46.如何在视图窗口创建按控件 47.如何获取鼠标指向的按控件标题 48.如何创建文本和颜色共存的ComboBox 49.如何创建自动完成列表项的ComboBox 50.如何使ComboBox控件自动适应列表项 5l.如何使ComboBox控件自动装入文件名列表 52.如何在编辑框限制输入的字符类型 53.如何为编辑框添加自动完成匹配功能 54.如何设置编辑框的背景颜色和文本颜色 55.如何使编辑框的宽度自动适应窗体大小 56.如何获取在编辑框选择的文本内容 57.如何获取在编辑框显示的文本行数 58.如何重置编辑框默认的右键菜单 59.如何显示载有RichEdit控件的对话框 60.如何在RichEdit实现查找和定位字符 61.如何在RichEdit混合显示图片和文本 62.如何使List列表控件支持整行选择 63.如何使用List列表控件填充表格数据 64.如何使用数据库记录填充List列表控件 65.如何创建单元格可编辑的List列表控件 66.如何在ListBox查找指定的字符串 67.如何为超长的ListBox列表项添加提示 68.如何将ListBox转换成CheckListBox 69.如何在视图窗口绘制ListBox控件 70.如何使用Progress控件显示完成进度 71.如何使用Scroll控件控制滚动范围值 72.如何使用Slider控件控制滑动刻度值 73.如何使用Tab标签页(选项卡)控件 74.如何使用Tree控件显示目录树形结构 75.如何为树控件的子节点添加复选功能 76.如何为控件添加浮动提示窗口功能 77.如何使用回车键切换窗体控件焦点 78.如何遍历应用程序窗体的各个控件 79.如何使窗体的控件跟随鼠标移动而移动 80.如何设置静态文本控件的背景和文本颜色 81.如何通过控件实现鼠标拖动文本效果 第3章 标题栏和菜单栏 82.如何获取程序窗口标题栏的高度 83.如何获取程序窗口标题栏的按尺寸 84.如何获取程序窗口标题栏的文字 85.如何获取程序窗口标题栏的文字颜色 86.如何设置程序窗口标题栏的文字颜色 87.如何在窗口标题栏滚动显示文字 88.如何在对话框程序设置标题栏文字 89.如何在单文档程序设置标题栏文字 90.如何禁止在窗口标题栏上显示文档名 91.如何自定义单文档程序窗口的标题栏 92.如何取消单文档程序标题栏的右键菜单 93.如何隐藏或显示应用程序的标题栏 94.如何获取IE浏览器窗口的标题栏文字 95.如何修改IE浏览器的标题栏内容 96.如何禁止标题栏响应鼠标事件 97.如何在标题栏右键菜单新增菜单项 98.如何禁止单文档程序关闭 99.如何禁止单文档程序的最大化按 100.如何禁止单文档程序的最小化按 101.如何获取顶层菜单所占的行数 102.如何获取单文档程序菜单栏的高度 103.如何获取菜单项的标题文本内容 104.如何以渐变色绘制选择的菜单项 105.如何在组菜单项的左侧绘制纵向标题 106.如何在菜单项同时显示图标和文本 107.如何在单文档程序主菜单删除菜单 108.如何在单文档程序主菜单增加菜单 109.如何启用和禁用主菜单组的子菜单 110.如何删除单文档程序的主菜单 111.如何根据数据库记录动态创建菜单 112.如何取消无消息响应菜单的状态限制 113.如何显示或隐藏菜单项的复选标记 114.如何创建单选按效果的菜单组 115.如何在“最近的文件”子菜单显示记录 116.如何在视图窗口创建弹出式跟踪菜单 117.如何在视图窗口创建上下文快捷菜单 118.如何禁止运行默认系统菜单按命令 119.如何设置默认系统菜单的字体为粗体 120.如何为默认系统菜单文字添加下划线 121.如何增加对话框应用程序的系统菜单项 122.如何删除对话框程序的系统菜单项 l23.如何在对话框应用程序加载菜单 124.如何为不同控件添加不同的右键菜单 125.如何在操作系统任务栏上添加托盘菜单 126.如何触发操作系统的“开始”菜单 127.如何隐藏IE浏览器的右键菜单组 第4章 工具栏和状态栏 128.如何获取工具栏的图标资源 129.如何在工具栏上设置背景图像 130.如何在工具栏上加载动画窗口 131.如何在工具栏上加载组合框控件 132.如何在工具栏上加载孚体组合框 133.如何为工具栏添加动态真彩按 134.如何为工具栏按设置下拉箭头 135.如何为工具栏按添加下压效果 136.如何在工具栏上显示图标和文字 137.如何设置工具栏按的标题文字 138.如何设置工具栏按的提示信息 139.如何为对话框工具栏按添加提示 140.如何隐藏工具栏按的提示信息 141.如何在工具栏上增加删除按 142.如何动态隐藏或显示工具栏按 143.如何动态启用或禁用工具栏按 144.如何动态改变工具栏按的位置 145.如何对工具栏的按进行分组 146.如何在对话框程序加载工具栏 147.如何隐藏或显示应用程序的工具栏 148.如何在程序主窗口停靠工具栏 149.如何使用对话栏实现工具栏效果 150.如何在IE浏览器工具栏上添加按 l51.如何使用代码设置工具栏图标 152.如何使用代码获取工具栏指针 153.如何使用代码获取状态栏指针 154.如何隐藏或显示应用程序的状态栏 155.如何在状态栏增加新的窗格 156.如何更新状态栏窗格的显示内容 157.如何同步状态栏与对话框窗体的改变 158.如何在状态栏窗格显示当前时间 159.如何在状态栏窗格显示鼠标位置 160.如何在状态栏窗格滚动显示文本 161.如何在状态栏窗格加载进度条 162.如何在状态栏窗格加载图像 163.如何在状态栏窗格播放视频动画 第5章 光标和图标的应用 164.如何获取系统默认的光标大小 165.如何装入操作系统预置的光标 166.如何设置当前程序显示的光标 167.如何创建沙漏效果的等待光标 168.如何使用十字光标定位画线坐标 169.如何使用动画文件设置程序光标 170.如何捕捉光标指向的热区范围 171.如何将光标限制在指定范围内 172.如何获取光标当前的活动范围 173.如何获取系统默认的图标大小 174.如何获取可执行文件的图标 175.如何提取动态链接库的图标 176.如何提取图标文件的图标 177.如何以发送消息方式设置图标 178.如何使程序标题栏的图标旋转 179.如何在操作系统托盘设置图标 第6章 程序主窗口界面 180.如何创建一个向导式的对话框窗体 181.如何创建一个属性页的对话框窗体 182.如何创建列表视图类型的程序窗体 183.如何创建不规则的对话框窗体 184.如何创建圆角状的非矩形窗体 185.如何使用文字线条填充窗体轮廓 186.如何根据图片的形状创建程序窗体 187.如何在窗体创建切分多视图窗口 188.如何在窗体创建切分同视图窗口 189.如何判断程序窗体是否为切分窗体 190.如何设置单文档程序窗体的背景颜色 191.如何在对话框窗体创建渐变色背景 192.如何随机更换对话框窗体的背景图像 193.如何设置HTML对话框窗体的背景图像 l94.如何获取默认的程序窗体边界宽度 195.如何获取窗体水平滚动条箭头宽度 196.如何获取窗体垂直滚动条箭头宽度 197.如何设置多文档程序的主窗口标题 198.如何设置多文档程序的子窗口标题 199.如何设置多文档程序的主窗口图标 200.如何设置多文档程序的子窗口图标 201.如何限制多文档程序子窗口的大小 202.如何禁止用户拖动标题栏移动窗体 203.如何闪烁应用程序窗体的标题栏 204.如何定制窗体的边框线和标题栏 205.如何拖动没有标题栏的程序窗体. 206.如何拖动非标题栏区域移动窗体 207.如何拖动对话框主窗体移动程序 208.如何动态隐藏或显示应用程序窗体 209.如何动态移动和改变程序窗体的位置 210.如何动态改变应用程序窗口的大小 211.如何限制改变应用程序窗口的大小 212.如何限制应用程序窗口的缩放范围 213.如何固定单文档程序窗体的大小 214.如何使用网页作为程序的主窗体 215.如何发送消息最大化显示程序窗口 216.如何发送消息最小化隐藏程序窗口 217.如何发送消息还原(恢复)程序窗口 218.如何使MDI程序子窗口最大化启动 219.如何使SDI程序窗口最大化启动 220.如何使SDI程序窗口最小化启动 221.如何以不同方式居显示程序窗口 222.如何使单文档程序窗口最顶层显示 223.如何实现全屏显示应用程序窗口 224.如何使程序窗口以任意透明度显示 225.如何透明显示程序窗口的部分区域 226.如何将程序的窗口缩放到托盘显示 227.如何获取在任务栏显示的窗口程序 228.如何将其他窗口程序调至前台显示 229.如何以淡入的效果显示程序窗口 230.如何以淡出的效果隐藏程序窗口 231.如何以扩展的效果显示程序窗口 232.如何以动画收缩效果隐藏程序窗口 233.如何以扩展收缩效果展开程序窗口 234.如何以异步方式控制显示程序窗口 235.如何设置对话框程序窗口的启动位置 236.如何在上次关闭位置启动程序窗体 237.如何显示和关闭非模式对话框 238.如何在对话框程序加入闪屏效果 239.如何在单文档程序加入闪屏效果 240.如何使程序窗口自动适应图像尺寸 241.如何使用桌面区域填充程序窗口 242.如何在程序视图窗口添加插入符 243.如何实现QQ抽屉导航效果的界面 244.如何使用树形视图导航程序界面 第7章 程序管理和控制 245.如何捕获按下的Home等功能键 246.如何捕获按下的Air或Shift+Alt组合键 247.如何捕获按下的Ctrl或Clrl+Alt组合键 248.如何捕获按下的Ctrl或Ctrl+Shift组合键 249.如何捕获用户按下键盘的任一按键 250.如何使用钩子技术监视键盘的按键操作 251.如何使用小键盘数字键模拟鼠标 252.如何禁止使用Esc键关闭对话框程序 253.如何禁止使用Air+F4组合键关闭程序 254.如何使用回车键切换编辑框的输入焦点 255.如何为应用程序自定义加速键 256.如何创建热键及其消息处理函数 257.如何判断是否同时按下了鼠标键和Ctrl键 258.如何判断鼠标按键是否单了标题栏 259.如何跟踪显示鼠标移动的当前位置 260.如何在桌面上创建应用程序快捷方式 261.如何查询快捷方式所属的源程序名称 262.如何禁止在任务栏显示单文档程序标题 263.如何禁止多文档程序启动时创建新文档 264.如何直接以发送消息方式关闭程序 265.如何重定向菜单消息命令到对话框 266.如何添加命令响应范围消息处理函数 267.如何在应用程序创建自定义消息 268.如何在应用程序寄送自定义消息 269.如何使用定时器响应间隔发生的操作 270.如何使用互斥量禁止运行多个实例 271.如何使用映射文件禁止运行多个实例 272.如何在应用程序执行其他应用程序 273.如何查找当前系统停止响应的程序 274.如何判断指定窗口程序是否已经运行 275.如何使单文档程序启动时显示对话框 276.如何在程序运行时禁止关闭计算机 277.如何在关闭单文档程序时给予提示 278.如何处理Windows程序的命令行参数 279.如何在应用程序运行命令行命令 280.如何获取执行程序的版权声明信息 281.如何创建最简单的MFC应用程序 282.如何使:MFC程序架构支持一档多视 283.如何在MFC:程序浏览PDF格式文件 第8章 打印机和打印实现 第9章 进程和线程管理 第10章 文件读写操作 第11章 文件和文件夹管理 第12章 字符串和数据转换 第13章 操作系统维护 第14章 计算机设备管理 第15章 文字和图像显示 第16章 音频和视频 第17章 网络通信 第18章 数据库管理 第19章 数据库访问 第20章 数据库查询 第21章 Word和Excel应用 第22章 WMI查询和管理 第23章 注册表综合应用

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧