下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、按键精灵 5 级认证考题添加了考试时候自己遇到的题红色为自己总结的考题,黑色为网上资料在路径为 : C:ajjl.txt文本的每行内容后加上对应的行数 , 例如 :ajjl- 第 1 行. 请写出代码(禁止使用命令库)wenben=Plugin.File.OpenFile(c:ajjl.txt)/ 打开 ajjl.txt文件,以备读写使用Call Plugin.File.SeekFile(wenben, 0)/ 设置文件的当前读写位置For UBound(hangshu)CallPlugin.File.WriteFile(wenben,hangshu(i) & -第 & ii & 行 & vb
2、crlf)/向目标文件写入行数并换行i = i + 1:ii = ii + 1NextCall Plugin.File.CloseFile(wenben)/ 关闭一个已经打开的文件。 文件关闭后,其句柄不再有效EndScript如果鼠标停止动作超过 5 秒,则执行弹出信息提示框 鼠标停止动作 , 请写出代码GetCursorPos x1, y1/ 得到鼠标位置Delay 5000/ 等待五秒重新判断鼠标位置,GetCursorPos x2, y2If x1 = x2 and y1 = y2 thenMessageBox 鼠标停止动作 End If限制鼠标范围在屏幕坐标( 200,300)到(5
3、00,600)范围内,超出范围则回到边界(鼠标范围限制),请写出代码。x1 = 200x2 = 500y1 = 300y2 = 600DoGetCursorPos x, yIf x x2 or y y2 Then/当 x,y 有一个超出范围后, If x x2 Thenx=x2End IfIf y y2 Theny=y2End IfMoveTo x, yEnd IfLoop写一个子程序 , 可以使鼠标从当前的坐标逐点的移动到目的坐标 ( 带轨迹的鼠标移动 ), 请写出代码(要求:轨迹为一条直线)etCursorPos x1, y1/ 得到鼠标位置坐标/x2 ,y2 为目标坐标For i = 1
4、 To 100/ 把 x 和 y 等分 100 份nx = (x2 - x1) / 100ny = (y2 - y1) / 100MoveTo int(x1 + i * nx), int(y1 + i * ny)Delay 10NextEnd Sub鼠 标 按 圆 型 移 动 , 半 径 为 r=100, 圆 点 为 (200,200), 请写出代码Dim n, x, yMoveTo 100, 200/ 确定圆点For n = 0 To 360x = 200 - 100 * cos(n*3.14/180)y = 200 - 100 * sin(n*3.14/180)/ 根据直角三角形公式求两个
5、直角边边长MoveTo x, yDelay 10NextEndScript1 、鼠标按 圆型移动 , 半径为r=100, 圆 点为(200,200),请写出代码 .Dim a, x, yMoveTo 100, 200For a = 0 To 360x = 200 - 100 * cos(a*3.14/180) y = 200 - 100 * sin(a*3.14/180) MoveTo x, yDelay 5NextEndScript1、( 前台 ) 区域范围为 (100,150) 到(200,300) 内的所有点是否均为 FFFFFF, 是则弹出对话框 没有其他颜色 , 否则弹出第一个点的颜
6、色值并退出程序 .请写出代码x = 100y = 150RtColor= Plugin.Color.GetPixelColor(x,0)RtColor1 = RtColorWhile (y 300)x=100While (x = 0 Then For i = 0 To UBound(Hwnd) - 1 wnd = Clng(Hwnd(i) Hwnd1 = wndBeginThread移动Delay 100NextEnd IfDoDelay 1000LoopSub 移动Hwnd2 = Hwnd1Randomizex = Int(Rnd * 500)Randomizey = Int(Rnd*500
7、)MessageBox x&,&yCall Plugin.Window.Move(Hwnd2, x+100, y +100)End Sub3、筛选出 100 以内所有个位数加十位数等于 10 的数 , 例如 82,8+2=10 满足条件 , 请写出代码 s=For i = 1 To 99a = i mod 10b = int(i / 10)If (a + b) = 10 Thens=s&i&|End IfNextMessageBox s4 、写一个算法可以将十进制的字符串转成八进制的字符串 . 例如 8-10, 请写出代码Public Function DEC_to_OCT(Dec)DEC_t
8、o_OCT = Do While Dec 0DEC_to_OCT = Dec Mod 8 & DEC_to_OCTDec = Dec 8LoopEnd Functiona=DEC_to_OCT(8) MessageBox a5、有 N个窗口 , 第一个窗口移动到 (0,0) 点, 其余的窗口根据第一个窗口平铺 , 窗口不超出屏幕边缘( 窗口平铺 ), 请写出代码RunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeHwndEx = P
9、lugin.Window.Search(记事本 )Hwnd = Split(HwndEx, |)ScreenX = Plugin.Sys.GetScRX()ScreenY = Plugin.Sys.GetScRY()MessageBox ScreenXsRect=Plugin.Window.GetWindowRect(Hwnd(0)MessageBox sRectxy = Split(sRect, |)x = xy(2) - xy(0)y = xy(3) - xy(1)sx = 0sy = 0i=0MessageBox xWhile (Screeny-sy y)While (ScreenX -
10、 sx x)Delay 10CallPlugin.Window.Move(Hwnd(i),Cstr(sx),Cstr(sy)sx = sx + xi = i + 1If i UBound(Hwnd)-1 ThenExitScriptEnd IfWendsy = sy + ysx=0MessageBox syWend写一个子程序 , 可以使鼠标从当前的坐标逐点的移动到目的坐标 ( 带轨迹的鼠标移动 ), 请写出代码DoCall a(50, 50)Call a(800, 600)Loopsub a(x,y)DoGetCursorPos x0, y0If x x0 Theni = 1ElseIf x
11、 y0 thenii = 1ElseIf y 答案 Then最大数 =数字ElseIf数字 答案 Then最小数 =数字End If数字=InputBox(答案范围为:& 最小数&最大数)数字= int(数字 )Loop13、锁定鼠标位置在 (200,300) 到(500,600) 之间 ,超出范围则回到边界( 鼠标范围锁定 ), 请写出代码Call锁范围 (200,300,500,600)Function锁范围 (x1,y1,x2,y2)DoGetCursorPos x, yIf x x2 or y y2 ThenIf x x2 Thenx=x2End IfIf y y2 Theny=y2E
12、nd IfMoveTo x, yEnd IfLoopEnd Function15、获取数组array(10,9,1,5,2,3,4,5,6,11)中最接近平均数的值 , 请写出代码a = array(10, 9, 1, 5, 2, 3, 4, 5, 6, 11)i=0For UBound(a) + 1ii = ii + a(i)i = i + 1Next均值 = ii /( UBound(a) + 1)i=0For UBound(a)均值均值1) Thenii = a(i + 1)ElseIf Abs(均值 - a(i) 96 and字符 ,i,1) 47 and Asc(mid( 字符 ,i
13、,1) 58 )Then字& mid(反提取小写数字字符 , i, 1)=反提取小写数End Ifi = i - 1NextEnd Function/4 、写一个函数 , 可以让普通窗口 ( 例如记事本 ) 在屏幕内移动 , 碰到屏幕边缘随机反向移动 ( 类似屏幕保护的汽泡程序 ), 请写出Function moveWin(Hwnd)Dim ary, h, w, maxh, maxw, fa, fbScreenW = Plugin.GetSysInfo.GetScreenResolutionX()ScreenH = Plugin.GetSysInfo.GetScreenResolutionY(
14、)sRect = Plugin.Window.GetWindowRect(Hwnd)ary = Split(sRect, |)W1 = Clng(ary(0): H1 = Clng(ary(1)W2 = Clng(ary(2) : H2 = Clng(ary(3)w = W2 - W1 : h = H2 - H1fa = true : fa = trueCall Plugin.Window.Active(Hwnd)Call Plugin.Window.Show(Hwnd)DoRandomizeIf fa ThenW1 = Round(Rnd * 5) + W1ElseW1 = W1 - Rou
15、nd(Rnd * 5)End IfIf fb ThenH1 = Round(Rnd * 5) + H1ElseH1 = H1 - Round(Rnd * 5)End Ifmaxw = w + W1 : maxh = h + H1 If W1 = 0 ThenW1=0fa = trueEnd IfIf H1 = ScreenW ThenW1 = ScreenW - wfa = falseEnd IfIf maxh = ScreenH ThenH1 = ScreenH - hfb = falseEnd IfCall Plugin.Window.Move(Hwnd, W1,H1)Delay 10Lo
16、opEnd Function/Call RunApp(notepad.exe)/Delay 1000/Hwnd = Plugin.Window.Find(Notepad, 0)/If Hwnd 0 Then/ moveWin(Hwnd)/Else/ MessageBox 记事本未找到! /End If 写一个子程序 , 可以使鼠标从当前的坐标逐点的移动到目的坐标 ( 带轨迹的鼠标移动 ), 请写出代码Sub moveMou(x, y)Dim fa, fb, xx, yy, maxlGetCursorPos x0, y0xx = Abs(x0 - x)yy = Abs(y0 - y) If xx
17、 yy Thenmaxl = xx Elsemaxl = yyEnd IfMessageBox maxlIf x0 x Thenfa = 1Elsefa = - 1End IfIf y0 y Thenfb = 1Elsefb = - 1End IfFor maxlIf x0x0 = x0 + fay0 = y0 + fbMoveTo x0, y0Delay 10NextEnd SubCall moveMou(1000,500)/(API) 利用 SetWindowPos 函数将窗口置前, 相关说明请百度 , 请写出代码Private Declare Function SetWindowPos
18、Lib user32 Alias SetWindowPos (ByVal hwndAs Long,ByValhWndInsertAfterAs Long,ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongFunction窗口层次 (hwnd, mode)窗口层次 = SetWindowPos(hwnd, mode, 0, 0, 0,0, 3)End Functionhwnd = 661156Call Lib.API.窗口层次 (hwnd, -1)4
19、、利用 ShowScrTXT 命令制作一个放大镜 , 效果类似抓抓工具的放大镜 , 可以放大显示鼠标指向的 5*5 区域的颜色 . 请写出代码While trueGetCursorPos x, yse = GetPixelColor(x + l, y + s)CallPlugin.Msg.ShowScrTXT(xy + s * 15 + 15, x + 170, y + 170, If l = 4 Thenl = 0+ l* 15+15, se)s = s + 1Elsel = l + 1End IfIf s = 5 Thens = 0Delay 500Call Plugin.Msg.Hide
20、ScrTXT()Delay 100End IfWend5、获取鼠标无动作的时间 , 返回值是鼠标无动作的时间 ( 鼠标监控 ), 请写出代码1、同种窗口多开 , 操作一个窗口 ( 键盘和鼠标 ) 能够同时操作其他同种窗口 , 且操作过程一致 ( 模拟同步器 ), 请写出代码5、(API) 利用 SendMessage 函数向 QQ对话窗口发送文本里的所有内容 (QQ消息发送器 ), 请写出代码RunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeHwndEx = Plugin.Window.Search(
21、记事本 )hw_sp = Split(HwndEx, |)hw_ub = UBound(hw_sp)TracePrint hw_ubx = 0y = 0i = 0m=1For hw_ubhw_ck = hw_sp(i)call ckczi = i + 1 : m = m + 1Delay 100NextSub ckczIf m = 1 or m = 2 ThenCall Plugin.Window.Active(hw_ck)CallPlugin.Window.Move(Hwnd,x,y)x = x + 600If m = 2 Thenx=0End IfElseIf m = 3 or m = 4
22、 ThenCall Plugin.Window.Active(hw_ck)y = y + 600CallPlugin.Window.Move(Hwnd,x,y)x = x + 600:y=0End IfEnd Sub在路径为 : C:ajjl.txt对应的行数 , 例如 :ajjl-文本的每行内容后加上第 1 行. 请写出代码nr = Plugin.File.ReadFileEx(c:ajjl.txt)hs = Split(nr, |)i = 0:ii = 1fileLen=Plugin.File.GetFileLength(c:ajjl.txt)handle=Plugin.File.Open
23、File(c:ajjl.txt)Call Plugin.File.SeekFile(handle, 0)For UBound(hs)CallPlugin.File.WriteFile(handle,hs(i)&-第&ii& 行& vbcrlf)i = i + 1:ii = ii + 1NextCall Plugin.File.CloseFile(handle)Delay 500RunApp c:ajjl.txtEndScript请提供至少两种判断程序卡死 ( 无响应 ) 的思路 , 请写出关键代码 . 请写出代码Private Declare Function IsHungAppWindow
24、Lib user32.dll ( ByVal hWnd As Long) As LongSub 子程序 ()Hwnd = Plugin.Window.MousePoint()If IsHungAppWindow(Hwnd)=0 ThenMsgBox 窗口正常 End IfEnd SubPrivate Declare Function IsHungAppWindow Lib user32.dll ( ByVal hWnd As Long) As LongHwnd = Plugin.Window.MousePoint()If IsHungAppWindow(Hwnd)=0 ThenMsgBox 窗
25、口正常 End If根据系统时间生成一个01 之间的小数点数字 ,需要写出生成的过程 ( 伪随机数 ), 请写出代码MsgBox 伪随机 ()Function伪随机 ()时间 = Split(Time, :)Randomize时 = Int(int( 时间 (0) * Rnd + 1) / 24 * 100 Randomize分 = Int(int(时间 (1)* Rnd + 1) / 60 * 10000Randomize秒 = Int(int(时间 (2) * Rnd + 1) / 60 *1000000伪随机 = round(时 +分 + 秒) / 100, 6)End Function
26、1 、鼠标按 圆型移动 , 半径为r=100, 圆 点为(200,200),请写出代码 .Dim a, x, yMoveTo 100, 200For a = 0 To 360x = 200 - 100 * cos(a*3.14/180)y = 200 - 100 * sin(a*3.14/180)MoveTo x, yDelay 5NextEndScript1、( 前台 ) 区域范围为 (100,150) 到(200,300) 内的所有点是否均为 FFFFFF, 是则弹出对话框 没有其他颜色 , 否则弹出第一个点的颜色值并退出程序 .请写出代码x = 100RtColor= Plugin.Co
27、lor.GetPixelColor(x,0)RtColor1 = RtColorWhile (y 300)x=100While (x = 0 Then For i = 0 To UBound(Hwnd) - 1 wnd = Clng(Hwnd(i)Hwnd1 = wndBeginThread移动Delay 100NextEnd IfDoDelay 1000LoopSub 移动Hwnd2 = Hwnd1Randomizex = Int(Rnd * 500)Randomizey = Int(Rnd*500)MessageBox x&,&yCall Plugin.Window.Move(Hwnd2,
28、 x+ 100, y + 100)End Sub3、筛选出 100 以内所有个位数加十位数等于 10 的数 , 例如 82,8+2=10 满足条件 , 请写出代码 s=For i = 1 To 99a = i mod 10b = int(i / 10)If (a + b) = 10 Thens=s&i&|End IfNextMessageBox s4 、写一个算法可以将十进制的字符串转成八进制的字符串 . 例如 8-10, 请写出代码Public Function DEC_to_OCT(Dec)DEC_to_OCT = Do While Dec 0DEC_to_OCT = Dec Mod 8
29、& DEC_to_OCT Dec = Dec 8LoopEnd Functiona=DEC_to_OCT(8) MessageBox a5、有 N个窗口 , 第一个窗口移动到 (0,0) 点, 其余的窗口根据第一个窗口平铺 , 窗口不超出屏幕边缘( 窗口平铺 ), 请写出代码RunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeRunApp notepad.exeHwndEx = Plugin.Window.Search(记事本 )Hwnd = Split(HwndEx
30、, |) ScreenX = Plugin.Sys.GetScRX() ScreenY = Plugin.Sys.GetScRY() MessageBox ScreenXsRect=Plugin.Window.GetWindowRect(Hwnd(0)MessageBox sRectxy = Split(sRect, |)x = xy(2) - xy(0)y = xy(3) - xy(1)sx = 0sy = 0i=0MessageBox xWhile (Screeny-sy y)While (ScreenX - sx x)Delay 10CallPlugin.Window.Move(Hwnd
31、(i),Cstr(sx),Cstr(sy)sx = sx + xi = i + 1If i UBound(Hwnd)-1 ThenExitScriptEnd IfWendsy = sy + ysx=0MessageBox syWend写一个子程序 , 可以使鼠标从当前的坐标逐点的移动到目的坐标 ( 带轨迹的鼠标移动 ), 请写出代码DoCall a(50, 50)Call a(800, 600)Loopsub a(x,y)DoGetCursorPos x0, y0If x x0 Theni = 1ElseIf x y0 thenii = 1ElseIf y 答案 Then最大数 =数字Else
32、If数字 答案 Then最小数 =数字End If数字 = InputBox(答案范围为 :& 最小数&最大数)数字 = int(数字 )Loop13、锁定鼠标位置在 (200,300) 到(500,600) 之间 ,超出范围则回到边界( 鼠标范围锁定 ), 请写出代码Call锁范围 (200,300,500,600)Function锁范围 (x1,y1,x2,y2)DoGetCursorPos x, yIf x x2 or y y2 ThenIf x x2 Thenx=x2End IfIf y y2 Theny=y2End IfMoveTo x, yEnd IfLoopEnd Functio
33、n15、获取数组array(10,9,1,5,2,3,4,5,6,11)中最接近平均数的值 , 请写出代码a = array(10, 9, 1, 5, 2, 3, 4, 5, 6, 11)i=0For UBound(a) + 1ii = ii + a(i)i = i + 1Next均值 = ii /( UBound(a) + 1)i=0For UBound(a)If Abs(均值1) Thenii = a(i + 1)- a(i) Abs(均值均值- a(i +均值a(i + 1) Thenii = a(i)End Ifi=i+1NextMsgBox ii16、有一个字符串,里面包含一些数字,写一个函数,把这些数字加起来。比如“我 30 你 40 他50”结果就是 120。请写出代码a = 我 30 你 40 他 50niFor i = 1 To Len(a) + 1If IsNumeric(Mid(a, i, 1) = True Thenii = ii & Mid(a, i, 1) Elseb = b + iiii = 0End IfNextMsgbox b17、遍历字符串 A1a2d5m8Qz,取出所有小写字母及数字 , 并按照与原来相反的顺序拼接成新的字符串 , 请写出代码MsgBox 反提取小写数字 (A1a2d5m8Qz)Function反提取小写数字 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届国家管网集团高校毕业生招聘笔试参考题库(浓缩500题)及参考答案详解
- 2026国网安徽省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题附答案详解(能力提升)
- 2026秋季国家管网集团华中公司高校毕业生招聘笔试模拟试题(浓缩500题)及答案详解(夺冠系列)
- 2025国网湖北省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题含答案详解(综合卷)
- 2026秋季国家管网集团山东分公司高校毕业生招聘考试参考题库(浓缩500题)及答案详解(夺冠)
- 2026秋季国家管网集团浙江省天然气管网有限公司高校毕业生招聘笔试参考题库(浓缩500题)含答案详解(轻巧夺冠)
- 2026年黑河市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解ab卷
- 国家管网集团湖南公司2026届秋季高校毕业生招聘考试备考试题(浓缩500题)及参考答案详解(突破训练)
- 2026秋季国家管网集团华中公司高校毕业生招聘考试参考题库(浓缩500题)带答案详解(轻巧夺冠)
- 2025国网河南省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题附答案详解(基础题)
- 药师竞聘正高述职报告
- 公务员心理健康与调适讲座
- 国开电大本科《当代中国政治制度》在线形考(形考任务一至四)试题及答案
- 昇兴(安徽)包装有限公司年产 18 亿只铝制两片罐项目环境影响评价报告书
- 企业电气安全事故案例分析
- 2023学年完整公开课版液压方枕器
- 2023年度环保管家服务招标文件
- 固定式人字抱杆整立施工作业指导书
- 犬胃切开术的课件资料
- 天津某钢厂高速线材主轧线设备安装方案年产万吨
- 人教版初中语文《名著导读》
评论
0/150
提交评论