按键精灵5级认证考题添加了考试时候自己遇到的题.docx
- 文档编号:28571753
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:44
- 大小:26.45KB
按键精灵5级认证考题添加了考试时候自己遇到的题.docx
《按键精灵5级认证考题添加了考试时候自己遇到的题.docx》由会员分享,可在线阅读,更多相关《按键精灵5级认证考题添加了考试时候自己遇到的题.docx(44页珍藏版)》请在冰豆网上搜索。
按键精灵5级认证考题添加了考试时候自己遇到的题
按键精灵5级认证考题添加了考试时候自己遇到的题
红色为自己总结的考题,黑色为网上资料
在路径为:
C:
\ajjl.txt文本的每行内容后加上对应的行数,例如:
ajjl-第1行.请写出代码(禁止使用命令库)
wenben=Plugin.File.OpenFile("c:
\ajjl.txt")
//打开ajjl.txt文件,以备读写使用
CallPlugin.File.SeekFile(wenben,0)
//设置文件的当前读写位置
ForUBound(hangshu)
CallPlugin.File.WriteFile(wenben,hangshu(i)&"-第"&ii&"行"&vbcrlf)
//向目标文件写入行数并换行
i=i+1:
ii=ii+1
Next
CallPlugin.File.CloseFile(wenben)
//关闭一个已经打开的文件。
文件关闭后,其句柄不再有效
EndScript
如果鼠标停止动作超过5秒,则执行弹出信息提示框"鼠标停止动作",请写出代码
GetCursorPosx1,y1
//得到鼠标位置
Delay5000
//等待五秒重新判断鼠标位置,
GetCursorPosx2,y2
Ifx1=x2andy1=y2then
MessageBox"鼠标停止动作"
EndIf
限制鼠标范围在屏幕坐标(200,300)到(500,600)范围内,超出范围则回到边界(鼠标范围限制),请写出代码。
x1=200
x2=500
y1=300
y2=600
Do
GetCursorPosx,y
Ifx
//当x,y有一个超出范围后,
Ifx x=x1 ElseIfx>x2Then x=x2 EndIf Ify y=y1 ElseIfy>y2Then y=y2 EndIf MoveTox,y EndIf Loop 写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带轨迹的鼠标移动),请写出代码 (要求: 轨迹为一条直线) etCursorPosx1,y1 //得到鼠标位置坐标 //x2,y2为目标坐标 Fori=1To100 //把x和y等分100份 nx=(x2-x1)/100 ny=(y2-y1)/100 MoveToint(x1+i*nx),int(y1+i*ny) Delay10 Next EndSub 鼠标按圆型移动,半径为r=100,圆点为(200,200),请写出代码 Dimn,x,y MoveTo100,200 //确定圆点 Forn=0To360 x=200-100*cos(n*3.14/180) y=200-100*sin(n*3.14/180) //根据直角三角形公式求两个直角边边长 MoveTox,y Delay10 Next EndScript 1、鼠标按圆型移动,半径为r=100,圆点为(200,200),请写出代码. Dima,x,y MoveTo100,200 Fora=0To360 x=200-100*cos(a*3.14/180) y=200-100*sin(a*3.14/180) MoveTox,y Delay5 Next EndScript 1、(前台)区域范围为(100,150)到(200,300)内的所有点是否均为"FFFFFF",是则弹出对话框"没有其他颜色",否则弹出第一个点的颜色值并退出程序.请写出代码 x=100 y=150 RtColor=Plugin.Color.GetPixelColor(x,y,0) RtColor1=RtColor While(y<300) x=100 While(x<200) IfRtColor="FFFFFF"Then x=x+1 Else MessageBoxRtColor1 ExitScript EndIf RtColor=Plugin.Color.GetPixelColor(x,y,0) Wend y=y+1 Wend MessageBox"没有其他颜色" 2、利用多线程对多个记事本的窗口位置进行随机移动.请写出代码 RunApp"notepad.exe" RunApp"notepad.exe" RunApp"notepad.exe" Delay2000 DimEnvHwnd1 HwndEx=Plugin.Window.Search("记事本") Hwnd=Split(HwndEx,"|") IfUBound(Hwnd)>=0Then Fori=0ToUBound(Hwnd)-1 wnd=Clng(Hwnd(i)) Hwnd1=wnd BeginThread移动 Delay100 Next EndIf Do Delay1000 Loop Sub移动 Hwnd2=Hwnd1 Randomize x=Int(Rnd*500) Randomize y=Int(Rnd*500) MessageBoxx&","&y CallPlugin.Window.Move(Hwnd2,x+100,y+100) EndSub 3、筛选出100以内所有个位数加十位数等于10的数,例如82,8+2=10满足条件,请写出代码 s="" Fori=1To99 a=imod10 b=int(i/10) If(a+b)=10Then s=s&i&"|" EndIf Next MessageBoxs 4、写一个算法可以将十进制的字符串转成八进制的字符串.例如"8"->"10",请写出代码 PublicFunctionDEC_to_OCT(Dec) DEC_to_OCT="" DoWhileDec>0 DEC_to_OCT=DecMod8&DEC_to_OCT Dec=Dec\8 Loop EndFunction a=DEC_to_OCT("8")MessageBoxa 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(HwndEx,"|") ScreenX=Plugin.Sys.GetScRX() ScreenY=Plugin.Sys.GetScRY() MessageBoxScreenX sRect=Plugin.Window.GetWindowRect(Hwnd(0)) MessageBoxsRect xy=Split(sRect,"|") x=xy (2)-xy(0) y=xy(3)-xy (1) sx=0 sy=0 i=0 MessageBoxx While(Screeny-sy>y) While(ScreenX-sx>x) Delay10 CallPlugin.Window.Move(Hwnd(i),Cstr(sx),Cstr(sy)) sx=sx+x i=i+1 Ifi>UBound(Hwnd)-1Then ExitScript EndIf Wend sy=sy+y sx=0 MessageBoxsy Wend 写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带轨迹的鼠标移动),请写出代码 Do Calla(50,50) Calla(800,600) Loop suba(x,y) Do GetCursorPosx0,y0 Ifx>x0Then i=1 ElseIfx i=-1 ElseIfx=x0Then i=0 EndIf Ify>y0then ii=1 ElseIfy ii=-1 ElseIfy=y0then ii=0 EndIf MoveRi,ii Ifx=x0andy=y0Then Exitdo EndIf Loop Endsub 11、随机生成一个1~100之间的整数,玩家可以通过inputbox输入数字,猜对则退出游戏,猜错则提示答案的范围(猜数游戏),请 写出代码 例如: 随机数为: 60,用户输入20,程序提示"答案范围为: 20~100". 用户再次输入75,程序提示"答案范围为: 20~75". 用户再次输入60,程序提示"猜中",然后退出程序. Randomize 答案=int(Rnd*100)+1 最小数=1 最大数=100 数字=InputBox("(猜数游戏),输入1~100之间的整数,玩家可以通过输入数字,猜对则退出游戏,猜错则提示答案的范围") 数字=int(数字) Do If数字=答案Then MsgBox数字&",恭喜答对了" EndScript ElseIf数字>答案Then 最大数=数字 ElseIf数字<答案Then 最小数=数字 EndIf 数字=InputBox("答案范围为: "&最小数&"~"&最大数) 数字=int(数字) Loop 13、锁定鼠标位置在(200,300)到(500,600)之间,超出范围则回到边界(鼠标范围锁定),请写出代码 Call锁范围(200,300,500,600) Function锁范围(x1,y1,x2,y2) Do GetCursorPosx,y Ifx Ifx x=x1 ElseIfx>x2Then x=x2 EndIf Ify y=y1 ElseIfy>y2Then y=y2 EndIf MoveTox,y EndIf Loop EndFunction 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=0 ForUBound(a)+1 ii=ii+a(i) i=i+1 Next 均值=ii/(UBound(a)+1) i=0 ForUBound(a) IfAbs(均值-a(i))>Abs(均值-a(i+1))Then ii=a(i+1) ElseIfAbs(均值-a(i)) ii=a(i) EndIf i=i+1 Next MsgBoxii 16、有一个字符串,里面包含一些数字,写一个函数,把这些数字加起来。 比如“我30你40他50”结果就是120。 请写出代码 a="我30你40他50ni" Fori=1ToLen(a)+1 IfIsNumeric(Mid(a,i,1))=TrueThen ii=ii&Mid(a,i,1) Else b=b+ii ii=0 EndIf Next Msgboxb 17、遍历字符串"A1a2d5m8Qz",取出所有小写字母及数字,并按照与原来相反的顺序拼接成新的字符串,请写出代码 MsgBox反提取小写数字("A1a2d5m8Qz") Function反提取小写数字(字符) i=Len(字符) ForLen(字符) If(Asc(mid(字符,i,1))>96andAsc(mid(字符,i,1))<123)or(Asc(mid(字符,i,1))>47andAsc(mid(字符,i,1))<58)Then 反提取小写数字=反提取小写数字&mid(字符,i,1) EndIf i=i-1 Next EndFunction //4、写一个函数,可以让普通窗口(例如记事本)在屏幕内移动,碰到屏幕边缘随机反向移动(类似屏幕保护的汽泡程序),请写出 FunctionmoveWin(Hwnd) Dimary,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=true CallPlugin.Window.Active(Hwnd) CallPlugin.Window.Show(Hwnd) Do Randomize IffaThen W1=Round(Rnd*5)+W1 Else W1=W1-Round(Rnd*5) EndIf IffbThen H1=Round(Rnd*5)+H1 Else H1=H1-Round(Rnd*5) EndIf maxw=w+W1: maxh=h+H1 IfW1<=0Then W1=0 fa=true EndIf IfH1<=0Then H1=0 fb=true EndIf Ifmaxw>=ScreenWThen W1=ScreenW-w fa=false EndIf Ifmaxh>=ScreenHThen H1=ScreenH-h fb=false EndIf CallPlugin.Window.Move(Hwnd,W1,H1) Delay10 Loop EndFunction //CallRunApp("notepad.exe") //Delay1000 //Hwnd=Plugin.Window.Find("Notepad",0) //IfHwnd>0Then //moveWin(Hwnd) //Else //MessageBox"记事本未找到! " //EndIf '写一个子程序,可以使鼠标从当前的坐标逐点的移动到目的坐标(带轨迹的鼠标移动),请写出代码 SubmoveMou(x,y) Dimfa,fb,xx,yy,maxl GetCursorPosx0,y0 xx=Abs(x0-x) yy=Abs(y0-y) Ifxx>yyThen maxl=xx Else maxl=yy EndIf MessageBoxmaxl Ifx0 fa=1 Else fa=-1 EndIf Ify0 fb=1 Else fb=-1 EndIf Formaxl Ifx0 x0=x0+fa y0=y0+fb MoveTox0,y0 Delay10 Next EndSub CallmoveMou(1000,500) //////(API)利用SetWindowPos函数将窗口置前,相关说明请XX,请写出代码 PrivateDeclareFunctionSetWindowPosLib"user32"Alias"SetWindowPos"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong Function窗口层次(hwnd,mode) 窗口层次=SetWindowPos(hwnd,mode,0,0,0,0,3) EndFunction hwnd=661156 CallLib.API.窗口层次(hwnd,-1) 4、利用ShowScrTXT命令制作一个放大镜,效果类似抓抓工具的放大镜,可以放大显示鼠标指向的5*5区域的颜色.请写出代码 Whiletrue GetCursorPosx,y se=GetPixelColor(x+l,y+s) CallPlugin.Msg.ShowScrTXT(x+l*15+15,y+s*15+15,x+170,y+170,"■",se) Ifl=4Then l=0 s=s+1 Else l=l+1 EndIf Ifs=5Then s=0 Delay500 CallPlugin.Msg.HideScrTXT() Delay100 EndIf Wend 5、获取鼠标无动作的时间,返回值是鼠标无动作的时间(鼠标监控),请写出代码 1、同种窗口多开,操作一个窗口(键盘和鼠标)能够同时操作其他同种窗口,且操作过程一致(模拟同步器),请写出代码 5、(API)利用SendMessage函数向QQ对话窗口发送文本里的所有内容(QQ消息发送器),请写出代码 RunApp"notepad.exe" RunApp"notepad.exe" RunApp"notepad.exe" RunApp"notepad.exe" HwndEx=Plugin.Window.Search("记事本") hw_sp=Split(HwndEx,"|") hw_ub=UBound(hw_sp) TracePrinthw_ub x=0 y=0 i=0 m=1 Forhw_ub hw_ck=hw_sp(i) callckcz i=i+1: m=m+1 Delay100 Next Subckcz Ifm=1orm=2Then CallPlugin.Window.Active(hw_ck) CallPlugin.Window.Move(Hwnd,x,y) x=x+600 Ifm=2Then x=0 EndIf ElseIfm=3orm=4Then CallPlugin.Window.Active(hw_ck) y=y+600 CallPlugin.Window.Move(Hwnd,x,y) x=x+600: y=0 EndIf EndSub 在路径为: C: \ajjl.txt文本的每行内容后加上对应的行数,例如: ajjl-第1行.请写出代码 nr=Plugin.File.ReadFileEx("c: \ajjl.txt") hs=Split(nr,"|") i=0: ii=1 fileLen=Plugin.File.GetFileLength("c: \ajjl.txt") handle=Plugin.File.OpenFile("c: \ajjl.txt") CallPlugin.File.SeekFile(handle,0) ForUBound(hs) CallPlugin.File.WriteFile(handle,hs(i)&"-第"&ii&"行"&vbcrlf) i=i+1: ii=ii+1 Next CallPlugin.File.CloseFile(handle) Delay500 RunApp"c: \ajjl.txt" EndScript 请提供至少两种判断程序卡死(无响应)的思路,请写出关键代码.请写出代码 PrivateDeclareFunctionIsHungAppWindowLib"user32.dll"(ByValhWndAsLong)AsLong Sub子程序() Hwnd=Plugin.Window.MousePoint() IfIsHungAppWindow(Hwnd)=0Then MsgBox"窗口正常" EndIf EndSub PrivateDeclareFunctionIsHungAppWindo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按键精灵 认证 考题 添加 考试 时候 自己 遇到