按键精灵5级认证考题添加了考试时候自己遇到的题_第1页
按键精灵5级认证考题添加了考试时候自己遇到的题_第2页
按键精灵5级认证考题添加了考试时候自己遇到的题_第3页
按键精灵5级认证考题添加了考试时候自己遇到的题_第4页
按键精灵5级认证考题添加了考试时候自己遇到的题_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、红色为自己总结的考题 ,黑色为网上资料在路径为: C:ajjl.txt文本的每行内容后加上对应的行数,例如:ajjl-第1 行.请写出代码(禁止使用命令库)wenben = Plugin.File.OpenFile(c:ajjl.txt)/打开ajjl.txt文件,以备读写使用Call Plugin.File.SeekFile(wenben, 0)/设置文件的当前读写位置For UBound(hangshu) Call Plugin.File.WriteFile(wenben, hangshu(i) & -第 & ii & 行 & vbcrlf)/ 向目标文件写入行数并换行 i = i + 1

2、: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)到(500,600)范围内,超出范围则回到边界(鼠标范围限制),请写出代码。x

3、1 = 200x2 = 500y1 = 300y2 = 600 Do GetCursorPos x, y If x x2 or y y2 Then / 当x,y有一个超出范围后, If x x2 Then x=x2 End If If y y2 Then y=y2 End If MoveTo x, y End If Loop写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带轨迹的鼠标移动),请写出代码(要求:轨迹为一条直线)etCursorPos x1, y1/得到鼠标位置坐标/x2,y2为目标坐标For i = 1 To 100/把x和y等分100份nx = (x2 - x1) /

4、 100ny = (y2 - y1) / 100MoveTo int(x1 + i * nx), int(y1 + i * ny)Delay 10Next End Sub鼠标按圆型移动,半径为r=100,圆点为(200,200),请写出代码Dim n, x, yMoveTo 100, 200/确定圆点For n = 0 To 360 x = 200 - 100 * cos(n*3.14/180) y = 200 - 100 * sin(n*3.14/180)/ 根据直角三角形公式求两个直角边边长 MoveTo x, y Delay 10NextEndScript1、鼠标按圆型移动,半径为r=1

5、00,圆点为(200,200),请写出代码.Dim a, x, yMoveTo 100, 200For a = 0 To 360 x = 200 - 100 * cos(a*3.14/180) y = 200 - 100 * sin(a*3.14/180) MoveTo x, y Delay 5NextEndScript 1、(前台)区域范围为(100,150)到(200,300)内的所有点是否均为FFFFFF,是则弹出对话框没有其他颜色,否则弹出第一个点的颜色值并退出程序. 请写出代码 x = 100 y = 150 RtColor = Plugin.Color.GetPixelColor(

6、x, y, 0) RtColor1 = RtColor While (y 300) x=100 While (x = 0 Then For i = 0 To UBound(Hwnd) - 1 wnd = Clng(Hwnd(i) Hwnd1 = wnd BeginThread 移动 Delay 100 Next End If Do Delay 1000 Loop Sub 移动 Hwnd2 = Hwnd1 Randomize x = Int(Rnd * 500) Randomize y = Int(Rnd*500) MessageBox x&,&y Call Plugin.Window.Move

7、(Hwnd2, x+ 100, y + 100) End Sub3、筛选出100以内所有个位数加十位数等于10的数,例如82,8+2=10满足条件,请写出代码 s= For i = 1 To 99 a = i mod 10 b = int(i / 10) If (a + b) = 10 Then s=s&i&| End If Next MessageBox s 4、写一个算法可以将十进制的字符串转成八进制的字符串.例如8-10,请写出代码 Public Function DEC_to_OCT(Dec) DEC_to_OCT = Do While Dec 0 DEC_to_OCT = Dec M

8、od 8 & DEC_to_OCT Dec = Dec 8 Loop End Function a=DEC_to_OCT(8) MessageBox a 5、有N个窗口,第一个窗口移动到(0,0)点,其余的窗口根据第一个窗口平铺,窗口不超出屏幕边缘(窗口平铺),请写出代码 RunApp notepad.exe RunApp notepad.exe RunApp notepad.exe RunApp notepad.exe RunApp notepad.exe RunApp notepad.exe HwndEx = Plugin.Window.Search(记事本) Hwnd = Split(H

9、wndEx, |) ScreenX = Plugin.Sys.GetScRX() ScreenY = Plugin.Sys.GetScRY() MessageBox ScreenX sRect = Plugin.Window.GetWindowRect(Hwnd(0) MessageBox sRect xy = Split(sRect, |) x = xy(2) - xy(0) y = xy(3) - xy(1) sx = 0 sy = 0 i=0 MessageBox x While (Screeny-sy y) While (ScreenX - sx x) Delay 10 Call Pl

10、ugin.Window.Move(Hwnd(i),Cstr(sx),Cstr(sy) sx = sx + x i = i + 1 If i UBound(Hwnd)-1 Then ExitScript End If Wend sy = sy + y sx=0 MessageBox sy Wend 写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带轨迹的鼠标移动),请写出代码Do Call a(50, 50) Call a(800, 600)Loopsub a(x,y) Do GetCursorPos x0, y0 If x x0 Then i = 1 ElseIf x y0 then

11、 ii = 1 ElseIf y 答案 Then 最大数 = 数字 ElseIf 数字 答案 Then 最小数 = 数字 End If 数字 = InputBox(答案范围为: & 最小数 & & 最大数) 数字 = int(数字)Loop 13、锁定鼠标位置在(200,300)到(500,600)之间,超出范围则回到边界(鼠标范围锁定),请写出代码 Call 锁范围(200,300,500,600)Function 锁范围(x1,y1,x2,y2) Do GetCursorPos x, y If x x2 or y y2 Then If x x2 Then x=x2 End If If y

12、y2 Then y=y2 End If MoveTo x, y End If LoopEnd Function 15、获取数组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) + 1 ii = ii + a(i) i = i + 1Next均值 = ii /( UBound(a) + 1)i=0For UBound(a) If Abs(均值 - a(i) Abs(均值 - a(i + 1) Then ii = a(i + 1) ElseIf A

13、bs(均值 - a(i) 96 and Asc(mid(字符,i,1) 47 and Asc(mid(字符,i,1) 58 ) Then 反提取小写数字 = 反提取小写数字 & mid(字符, i, 1) End If i = i - 1 NextEnd Function/4、写一个函数,可以让普通窗口(例如记事本)在屏幕内移动,碰到屏幕边缘随机反向移动(类似屏幕保护的汽泡程序),请写出Function moveWin(Hwnd) Dim ary, h, w, maxh, maxw, fa, fb ScreenW = Plugin.GetSysInfo.GetScreenResolutionX

14、() ScreenH = Plugin.GetSysInfo.GetScreenResolutionY() 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 - H1 fa = true : fa = true Call Plugin.Window.Active(Hwnd) Call Plugin.Window.Show(Hwnd) D

15、o Randomize If fa Then W1 = Round(Rnd * 5) + W1 Else W1 = W1 - Round(Rnd * 5) End If If fb Then H1 = Round(Rnd * 5) + H1 Else H1 = H1 - Round(Rnd * 5) End If maxw = w + W1 : maxh = h + H1 If W1 = 0 Then W1 = 0 fa = true End If If H1 = ScreenW Then W1 = ScreenW - w fa = false End If If maxh = ScreenH

16、 Then H1 = ScreenH - h fb = false End If Call Plugin.Window.Move(Hwnd, W1, H1) Delay 10 LoopEnd 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

17、(x, y) Dim fa, fb, xx, yy, maxl GetCursorPos x0, y0 xx = Abs(x0 - x) yy = Abs(y0 - y) If xx yy Then maxl = xx Else maxl = yy End If MessageBox maxl If x0 x Then fa = 1 Else fa = - 1 End If If y0 y Then fb = 1 Else fb = - 1 End If For maxl If x0 x0 = x0 + fa y0 = y0 + fb MoveTo x0, y0 Delay 10 Next E

18、nd SubCall moveMou(1000,500)/(API)利用 SetWindowPos 函数将窗口置前,相关说明请百度,请写出代码Private Declare Function SetWindowPos Lib user32 Alias SetWindowPos (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongFunction 窗

19、口层次(hwnd, mode)窗口层次 = SetWindowPos(hwnd, mode, 0, 0, 0, 0, 3)End Functionhwnd = 661156Call Lib.API.窗口层次(hwnd, -1)4、利用 ShowScrTXT 命令制作一个放大镜,效果类似抓抓工具的放大镜,可以放大显示鼠标指向的5*5区域的颜色.请写出代码While trueGetCursorPos x, yse = GetPixelColor(x + l, y + s)Call Plugin.Msg.ShowScrTXT(x + l * 15 + 15, y + s * 15 + 15, x +

20、 170, y + 170, , se)If l = 4 Then l = 0s = s + 1Else l = l + 1End IfIf s = 5 Then s = 0Delay 500Call Plugin.Msg.HideScrTXT()Delay 100End IfWend5、获取鼠标无动作的时间,返回值是鼠标无动作的时间(鼠标监控),请写出代码1、同种窗口多开,操作一个窗口(键盘和鼠标)能够同时操作其他同种窗口,且操作过程一致(模拟同步器),请写出代码5、(API)利用 SendMessage 函数向QQ对话窗口发送文本里的所有内容(QQ消息发送器),请写出代码RunApp no

21、tepad.exe RunApp notepad.exe RunApp notepad.exe RunApp notepad.exeHwndEx = Plugin.Window.Search(记事本) hw_sp = Split(HwndEx, |)hw_ub = UBound(hw_sp)TracePrint hw_ubx = 0y = 0i = 0m=1For hw_ub hw_ck = hw_sp(i) call ckcz i = i + 1 : m = m + 1 Delay 100NextSub ckcz If m = 1 or m = 2 Then Call Plugin.Wind

22、ow.Active(hw_ck) Call Plugin.Window.Move(Hwnd, x, y) x = x + 600 If m = 2 Then x=0 End If ElseIf m = 3 or m = 4 Then Call Plugin.Window.Active(hw_ck) y = y + 600 Call Plugin.Window.Move(Hwnd, x, y) x = x + 600:y=0 End IfEnd Sub在路径为: C:ajjl.txt文本的每行内容后加上对应的行数,例如:ajjl-第1 行.请写出代码nr = Plugin.File.ReadFi

23、leEx(c:ajjl.txt)hs = Split(nr, |)i = 0:ii = 1fileLen = Plugin.File.GetFileLength(c:ajjl.txt)handle = Plugin.File.OpenFile(c:ajjl.txt)Call Plugin.File.SeekFile(handle, 0)For UBound(hs) Call Plugin.File.WriteFile(handle,hs(i)&-第&ii&行& vbcrlf) i = i + 1:ii = ii + 1NextCall Plugin.File.CloseFile(handle)

24、 Delay 500RunApp c:ajjl.txtEndScript 请提供至少两种判断程序卡死(无响应)的思路,请写出关键代码.请写出代码Private Declare Function IsHungAppWindow Lib user32.dll ( ByVal hWnd As Long) As LongSub 子程序()Hwnd = Plugin.Window.MousePoint()If IsHungAppWindow(Hwnd)=0 Then MsgBox 窗口正常End If End SubPrivate Declare Function IsHungAppWindow Lib

25、 user32.dll ( ByVal hWnd As Long) As LongHwnd = Plugin.Window.MousePoint()If IsHungAppWindow(Hwnd)=0 Then MsgBox 窗口正常End If根据系统时间生成一个01之间的小数点数字,需要写出生成的过程(伪随机数),请写出代码MsgBox 伪随机()Function 伪随机()时间 = Split(Time, :)Randomize时 = Int(int(时间(0) * Rnd + 1) / 24 * 100Randomize分 = Int(int(时间(1) * Rnd + 1) / 60

26、 * 10000Randomize秒 = Int(int(时间(2) * Rnd + 1) / 60 * 1000000伪随机 = round(时 + 分 + 秒) / 100, 6)End Function 1、鼠标按圆型移动,半径为r=100,圆点为(200,200),请写出代码.Dim a, x, yMoveTo 100, 200For a = 0 To 360 x = 200 - 100 * cos(a*3.14/180) y = 200 - 100 * sin(a*3.14/180) MoveTo x, y Delay 5NextEndScript 1、(前台)区域范围为(100,1

27、50)到(200,300)内的所有点是否均为FFFFFF,是则弹出对话框没有其他颜色,否则弹出第一个点的颜色值并退出程序. 请写出代码 x = 100 y = 150 RtColor = Plugin.Color.GetPixelColor(x, y, 0) RtColor1 = RtColor While (y 300) x=100 While (x = 0 Then For i = 0 To UBound(Hwnd) - 1 wnd = Clng(Hwnd(i) Hwnd1 = wnd BeginThread 移动 Delay 100 Next End If Do Delay 1000 L

28、oop Sub 移动 Hwnd2 = Hwnd1 Randomize x = Int(Rnd * 500) Randomize y = Int(Rnd*500) MessageBox x&,&y Call Plugin.Window.Move(Hwnd2, x+ 100, y + 100) End Sub3、筛选出100以内所有个位数加十位数等于10的数,例如82,8+2=10满足条件,请写出代码 s= For i = 1 To 99 a = i mod 10 b = int(i / 10) If (a + b) = 10 Then s=s&i&| End If Next MessageBox

29、 s 4、写一个算法可以将十进制的字符串转成八进制的字符串.例如8-10,请写出代码 Public Function DEC_to_OCT(Dec) DEC_to_OCT = Do While Dec 0 DEC_to_OCT = Dec Mod 8 & DEC_to_OCT Dec = Dec 8 Loop End Function a=DEC_to_OCT(8) MessageBox a 5、有N个窗口,第一个窗口移动到(0,0)点,其余的窗口根据第一个窗口平铺,窗口不超出屏幕边缘(窗口平铺),请写出代码 RunApp notepad.exe RunApp notepad.exe RunA

30、pp notepad.exe RunApp notepad.exe RunApp notepad.exe RunApp notepad.exe HwndEx = Plugin.Window.Search(记事本) Hwnd = Split(HwndEx, |) ScreenX = Plugin.Sys.GetScRX() ScreenY = Plugin.Sys.GetScRY() MessageBox ScreenX sRect = Plugin.Window.GetWindowRect(Hwnd(0) MessageBox sRect xy = Split(sRect, |) x = xy

31、(2) - xy(0) y = xy(3) - xy(1) sx = 0 sy = 0 i=0 MessageBox x While (Screeny-sy y) While (ScreenX - sx x) Delay 10 Call Plugin.Window.Move(Hwnd(i),Cstr(sx),Cstr(sy) sx = sx + x i = i + 1 If i UBound(Hwnd)-1 Then ExitScript End If Wend sy = sy + y sx=0 MessageBox sy Wend 写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带

32、轨迹的鼠标移动),请写出代码Do Call a(50, 50) Call a(800, 600)Loopsub a(x,y) Do GetCursorPos x0, y0 If x x0 Then i = 1 ElseIf x y0 then ii = 1 ElseIf y 答案 Then 最大数 = 数字 ElseIf 数字 答案 Then 最小数 = 数字 End If 数字 = InputBox(答案范围为: & 最小数 & & 最大数) 数字 = int(数字)Loop 13、锁定鼠标位置在(200,300)到(500,600)之间,超出范围则回到边界(鼠标范围锁定),请写出代码 Ca

33、ll 锁范围(200,300,500,600)Function 锁范围(x1,y1,x2,y2) Do GetCursorPos x, y If x x2 or y y2 Then If x x2 Then x=x2 End If If y y2 Then y=y2 End If MoveTo x, y End If LoopEnd Function 15、获取数组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) + 1 ii = ii + a

34、(i) i = i + 1Next均值 = ii /( UBound(a) + 1)i=0For UBound(a) If Abs(均值 - a(i) Abs(均值 - a(i + 1) Then ii = a(i + 1) ElseIf Abs(均值 - a(i) 96 and Asc(mid(字符,i,1) 47 and Asc(mid(字符,i,1) 58 ) Then 反提取小写数字 = 反提取小写数字 & mid(字符, i, 1) End If i = i - 1 NextEnd Function/4、写一个函数,可以让普通窗口(例如记事本)在屏幕内移动,碰到屏幕边缘随机反向移动(

35、类似屏幕保护的汽泡程序),请写出Function moveWin(Hwnd) Dim ary, h, w, maxh, maxw, fa, fb ScreenW = Plugin.GetSysInfo.GetScreenResolutionX() ScreenH = Plugin.GetSysInfo.GetScreenResolutionY() 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 - H1 fa = true : fa =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论