快手程序集.docx

上传人:b****4 文档编号:4886444 上传时间:2022-12-11 格式:DOCX 页数:13 大小:46.17KB
下载 相关 举报
快手程序集.docx_第1页
第1页 / 共13页
快手程序集.docx_第2页
第2页 / 共13页
快手程序集.docx_第3页
第3页 / 共13页
快手程序集.docx_第4页
第4页 / 共13页
快手程序集.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

快手程序集.docx

《快手程序集.docx》由会员分享,可在线阅读,更多相关《快手程序集.docx(13页珍藏版)》请在冰豆网上搜索。

快手程序集.docx

快手程序集

快手程序集

1、QQ自动聊天程序

2、QQ连连看外挂

3、马甲登录器(一台电脑同时登录多个账号到一个网站)

4、网页与AAuto程序交互例子

5、利用API函数读写INI文件

1、QQ自动聊天程序

作者:

Crane

QQ上自动聊天是越来越麻烦了,

不过用AAuto的winex可以方便的实现自动聊天程序,核心代码很短(用其他编程语言可能要十倍的代码量了)。

//适用于QQ2010(2010/08/17)

importwinex;

importwin.clip;

importkey;

//查找QQ聊天窗口

forhwnd,title,theadId,processIdinwinex.each("TXGuiFoundation","^[^TQ][^XQ].+"){

  //恢复窗口

  :

:

ShowWindow(hwnd,0x9/*_SW_RESTORE*/)

  win.setForeground(hwnd)

  win.delay(500)

  

  //输入聊天内容

  win.clip.write("聊天内容")

  key.press(0,"CTRL","V")

  win.delay(100)

  

  //发送聊天内容

  key.press(0,"CTRL","ENTER")

  key.press("ENTER")

}

上面的范例摘自快手最新帮助文档-winex库

2、QQ连连看外挂

作者:

5e365

花了几天时间终于完成了第二个AAuto的QQ小游戏外挂(程序仅用于AAuto学习研究)

适用于目前最新版QQ连连看(2.0beta08build041)

算法自己写到后面也有点晕了,算法应该还能更精简,大家有更好的方式可以讨论下,程序在本机调试通过正常,大家也可以试一下自己机器是否也正常,如有问题请反馈给我,我再检查是什么原因

另外请教一下crane,再反馈一些使用体验:

var声明的局部变量文档里要求要赋初值,不赋初值可以吗,因为有时var声明变量的时候还不知道初值,但如果在知道初值的时候再声明又可能作用域变的更小了(比如在某个大括号内部),是否必须赋初值?

另外在调试代码的时候费了不少劲,还没找到很好的调试方法,没有单步和断点,程序出了问题,目前都是猜测问题可能会出在哪里,然后加很多io.print(),最终BUG还是找到了

多行注释的时候,注释完后第一行的缩进会变掉,不知道为什么这样,是故意这样的吗

beginend内的代码段,有时在敲代码或者退格的时候突然会自动收缩起来,个人觉得有点不习惯

总之:

AAuto很棒,对我这样业余写点小程序的觉得效率很高,而且有很多区别于其他语言的独有特色。

简单易用,随便复杂两行代码,点运行就能出东西......感谢crane,AAuto的明天一定会更好.

AAuto太多特性都没掌握,继续学习.......

帖子长度限制,部分程序代码:

/* 

*QQ连连看外挂

*作者:

5e365

*版本:

适用与最新版QQ连连看(2.0beta08build041)

*日期:

2010.9.11

*备注:

程序仅用于AAuto学习研究

*/

importwin.ui;

importwin;

importprocess;

importmouse;

/*DSG{{*/

varwinform=win.form(parent=...;min=1;bottom=57;max=1;text="AAutoForm";right=186)

winform.add(

button={bottom=44;right=80;left=15;top=15;font=LOGFONT(name="宋体";h=-12);z=0;text="单连";cls="button"};

button2={bottom=43;right=167;left=101;top=15;font=LOGFONT(name="宋体";h=-12);z=1;text="秒杀";cls="button"}

/*}}*/

ClearPair=function(gridA,gridB)begin

  varoffsetX=getWinPos(_GameName).left;

  varoffsetY=getWinPos(_GameName).top;

  varptA=Grid2Pos(gridA,offsetX,offsetY)

  varptB=Grid2Pos(gridB,offsetX,offsetY)

  mouse.click(ptA.x,ptA.y,true)

  mouse.click(ptB.x,ptB.y,true)

  

end;

GetClearPair=function(CheckBoard)begin

  vargridA=:

:

POINT()

  vargridB=:

:

POINT()

  vargridM=:

:

POINT()

  vargridN=:

:

POINT()

  varvalA=0

  varvalB=0

  

  for(i=1;19*11;1){

    if(!

CheckBoard[i])

      continue

    gridA=Index2Grid(i) 

      

    valA=CheckBoard[i]   

    for(j=i+1;19*11;1){

      valB=CheckBoard[j]

      if(valB!

=valA)

        continue

        

      gridB=Index2Grid(j)      

      if(gridA.y==gridB.y){ //case1

        if(HorizontalCase(gridA,gridB,CheckBoard))

          returngridA,gridB;           

                

      }elseif(gridA.x==gridB.x){ //case2

        if(VerticalCase(gridA,gridB,CheckBoard))

          returngridA,gridB;

      

      }else{//case3

        if(TiltCase(gridA,gridB,CheckBoard))

          returngridA,gridB;

      }     

    } 

  }

  returnnull,null;

end;

winform.button.oncommand=function(id,event){

  

  varx,y=mouse.getPos();

  vargridA,gridB=GetClearPair(UpdateCheckBoard())

  if(gridA)

    ClearPair(gridA,gridB)

  else

    win.msgbox("无任何可消,请重组!

","AAuto")

  mouse.move(x,y,true)  

  

}

winform.button2.oncommand=function(id,event){

  

  varx,y=mouse.getPos();

  vargridA,gridB=GetClearPair(UpdateCheckBoard())

  while(gridA){

    ClearPair(gridA,gridB)

    win.delay(10)

    gridA,gridB=GetClearPair(UpdateCheckBoard()) 

  }

  mouse.move(x,y,true)

  

}

winform.show(true)

win.loopMessage();

returnwinform;

 

3、马甲登录器(一台电脑同时登录多个账号到一个网站)

作者:

crane

1、请用快手创建web工程,

2、发布为不同名的exe,例如a.exeb.exec.exe

3、然后同时打开运行。

web窗体关键代码如下:

//导入注册表库

importwin.reg;

//记录旧的设置

web_reg=win.reg("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\UserShellFolders")

web_cookeis=web_reg.queryValue("Cookies")

web_cache=web_reg.queryValue("Cache")

web_title=web_reg.queryValue("WindowTitle")

//改变cookies目录

web_reg.setSzValue("Cookies",io.fullpath("/web/cookies"))

web_reg.setSzValue("Cache",io.fullpath("/web/Cache"))

web_reg.setSzValue("WindowTitle","AAuto")

//声明API

:

:

Wininet:

=..raw.loadDll("Wininet.dll")

InternetSetOptionOne=Wininet.api("InternetSetOption","int(inthInternet,pointerdwOption,pointerlpBuffer,pointerdwBufferLength)")

//刷新设置

InternetSetOptionOne(39/*_INTERNET_OPTION_SETTINGS_CHANGED*/)

:

:

SendMessage(0xFFFF/*_HWND_BROADCAST*/,0x1A/*_WM_WININICHANGE*/)

//创建web窗体

varwb=web.form(winform,web.UIFLAG_NO3DBORDER/*无边框*//*,web.DLCTL_NO_SCRIPTS禁用脚本*/ )

//还原cookies目录

web_reg.setSzValue("Cookies",web_cookeis)

web_reg.setSzValue("Cache",web_cache)

web_reg.setSzValue("WindowTitle",web_title)

完整代码如下:

importwin;//必须首先导入win窗口支持库

importwin.ui;

importweb;

/*DSG{{*/

varwinform=win.form(parent=...;min=1;bottom=249;scroll=1;text="AAutoForm";right=349;max=1)

winform.add( )

/*}}*/

//导入注册表库

importwin.reg;

//记录旧的设置

web_reg=win.reg("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\UserShellFolders")

web_cookeis=web_reg.queryValue("Cookies")

web_cache=web_reg.queryValue("Cache")

web_title=web_reg.queryValue("WindowTitle")

//改变cookies目录

web_reg.setSzValue("Cookies",io.fullpath("/web/cookies"))

web_reg.setSzValue("Cache",io.fullpath("/web/Cache"))

web_reg.setSzValue("WindowTitle","AAuto")

//声明API

:

:

Wininet:

=..raw.loadDll("Wininet.dll")

InternetSetOptionOne=Wininet.api("InternetSetOption","int(inthInternet,pointerdwOption,pointerlpBuffer,pointerdwBufferLength)")

//刷新设置

InternetSetOptionOne(39/*_INTERNET_OPTION_SETTINGS_CHANGED*/)

:

:

SendMessage(0xFFFF/*_HWND_BROADCAST*/,0x1A/*_WM_WININICHANGE*/)

//创建web窗体

varwb=web.form(winform,web.UIFLAG_NO3DBORDER/*无边框*//*,web.DLCTL_NO_SCRIPTS禁用脚本*/ )

//还原cookies目录

web_reg.setSzValue("Cookies",web_cookeis)

web_reg.setSzValue("Cache",web_cache)

web_reg.setSzValue("WindowTitle",web_title)

//打开目标网站

wb.go("

//显示窗体

winform.show(true)

wb.wait("ecranesoft");//等待指定网址,可以使用模式匹配语法

//进入消息循环

win.loopMessage();

 

4、网页与AAuto程序交互例子

其实有的时候,用网页做软件的界面也是不错的选择,网页有它的灵活性和易用性。

在AAuto中,与网页交互其实很简单,因为AAuto可以与IE中的window.external接口通讯,下面这个例子就是用window.external自定义函数实现了在网页中控制AAuto程序弹出对话框。

preview.gif(11.32K)

2010-7-2415:

59:

58

aau代码:

importwin;//必须首先导入win窗口支持库

importwin.ui;

importwin.ui.menu;

importweb;

importfsys;

/*DSG{{*/

varwinform=win.form(parent=...;min=1;right=640;bottom=351;max=1;text="AAutoForm";border="resizable";scroll=1)

winform.add( )

/*}}*/

varwb=web.form(winform,web.UIFLAG_NO3DBORDER+web.UIFLAG_SCROLL_NO);

wb.external={

  showmsg=function(txt)

  {

    win.msgbox(txt,"AAuto");

    returntrue;

  }

}

//访问资源中的html文件

wb.go("res:

//"+fsys.getExeFile()+"/res/\res\test.html");

winform.show(true);

win.loopMessage();

returnwb,winform;ort

html代码:

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

AAuto

*{

  font:

12pxVerdana,Arial,Helvetica,sans-serif;

}

#header{

  height:

30px;

}

#header.logo{

  height:

30px;

  background:

url(logo.gif)4px4pxno-repeat;

}

#main{

  padding:

8px;

}

label{

  margin:

4px0;

  display:

block;

}

#txt{

  padding:

4px;

  border:

1pxsolid#ccc;

  width:

98%;

  height:

200px;

}

button{

  padding:

4px;

  width:

98px;

  height:

25px;

  background-image:

url(btn.gif);

  background-repeat:

no-repeat;

  background-position:

lefttop;

  border:

0;

}

button.hot{

  background-position:

leftbottom;

}

  

  

  

该工程已经内置于快手范例,见下图:

 

5、利用API函数读写INI文件

作者:

xauto,chentca

//读写INI文件

/************************************

Author        :

xAuto,chentca

Time        :

9,29,2010

Version        :

V0.3

Description       :

读写INI文件

************************************/

namespacefsys;

classini{

    ctor(path){

        this.path=path;

    };    

    read=function(app,key,default=""){

        varlen,val=GetPrivateProfileString(app,key,default,100,100,this.path)

     

        if(len>99){

          len+=3;

          len,val=GetPrivateProfileString(app,key,default,len,len,this.path)

        }

        return..string.str(val);

    };

    

    write=function(app,key,str){

        WritePrivateProfileString(app,key,str,this.path);

    };

    

    getitems=function(){

     vartheitem={}

        varlen,val=GetPrivateProfileString(null,null,"",100,100,this.path)

        if(len>99){

          len+=3;

        len,val=GetPrivateProfileString(null,null,"",len,len,this.path)

        }

        val=..string.split(val,'\0')

        foriinval{

   

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1