最近研究了一下ahk,果然好用

mac2022-06-30  23

最近研究了一下ahk,果然好用。顺便写了个论坛自动回帖程序。今天把800积分卖了,赚了八元人民币。哈哈!

把部分源码放出来给大家看看,其中有部分是从网站搬来的,然后自己整合了一下。有很多人对我说,写那么多脚本才那么几块钱,其实不仅仅是钱的问题,我利用这个东西,能够这样自己发布回复,就可以推广我自己的网站了,属于小小的seo类软件哦,我的芭比娃娃网,就是利用它推广上去的,在百度搜索芭比娃娃排在前面了哦。加油,继续!

 

;--------------------------------------------以下为事件区域--------------------------------------------------;程序入口F6::SetTimer, AutoWrite,50000Return

 

AutoWrite:;第一步WinActivate, %maintitle%Sleep, 2000Send, {F5}Sleep, 2000Send, {END}MouseClick, left,  123,  441Sleep, 5000;获取打开页面的标题,这里一定要先确保打开了。所以延时久一点WinGetActiveTitle, title;这里做判断,如果title==title2 不留言,关闭 如果title!=tital2 留言,关闭 ,并且赋值title2 = titleif title = title2{IfWinNotActive,%title%{WinActivate, %title%}IfWinActive,%title%{WinWaitActive, %title%Sleep, 2000WinMaximize,%title%Sleep, 3000WinClose,%title%     ;关闭留言页面WinActivate, %maintitle%WinMaximize,%maintitle%Sleep, 1000Send,{Home}}}else{IfWinNotActive,%title%{WinActivate, %title%}IfWinActive,%title%{WinWaitActive, %title%Sleep, 2000WinMaximize,%title%Sleep, 3000Send, {End}MouseClick, left,  229,  408Sleep, 3000;这里设计为变量,获取随机数Random, rand, 2, 13SendString( string%rand% )Sleep, 5000/* 这个在有的地方不支持,换成鼠标点击Send,{Ctrl Down}Send,{Enter}Send,{Ctrl Up}*/MouseClick, left,  247,  517Sleep, 3000WinClose,%title%     ;关闭留言页面WinActivate, %maintitle%WinMaximize,%maintitle%Sleep, 1000Send,{Home}title2 := title}}Return

;测试函数F9::Random, rand, 1, 7SendString( string%rand% )Send,{Enter}Return

;测试计时函数F10::SetTimer, WriteString, 1000ReturnF11::SetTimer, WriteString, offReturn

WriteString:Random, rand, 1, 7SendString( string%rand% )Send,{Enter}return

;--------------------------------------------以下为辅助函数区域--------------------------------------------------;函数1;发送中文辅助函数SendString( string ){    Len := StrLen(string)  ; 得到字符串的长度,注意一个中文字符的长度是2,即占2个字节    Keys := ""                  ; 将要发送的字符序列    Index := 1                  ; 用于循环    Loop    {        IsUnicodeChar := false        Code2 := 0                                             ; 字符2的ASCII码        Code1 := Asc( SubStr(string, Index, 1) )    ; 得到第一个字符的ASCII值        if(Code1 >= 129 && Code1 <= 254 && Index < Len)   ; 判断是否中文字符的第一个字符        {            Code2 := Asc( SubStr(string, Index+1, 1) )            ; 得到第二个字符的ASCII值            if(Code2 >= 64 && Code2 <= 254)        ; 若条件成立则说明是中文字符            {                IsUnicodeChar := true                Code1 <<= 8                                  ; 第一个字符应放到高8位上                Code1 += Code2                              ; 第二个字符放在低8位上            }            ++Index        }        if( IsUnicodeChar )            Keys .= "{ASC " . Code1 . "}"        else        {            Keys .= "{ASC 0" . Code1 . "}"                ; 如果非中文字符,则需要前缀一个0            if( Code2 > 0 )                Keys .= "{ASC 0" . Code2 . "}"        }        ++Index        if(Index > Len)            Break    }    Send % Keys}

有这方面爱好的,可以一起讨论哦。顺便问一下。有谁对discut 7.0的自动发布有研究的,我用.net写的程序,总是因为formhash出问题,可能是哪个地方他做了转换,一直找不到,请大侠指教啊。我已经能在自己的discut 7.0上自己发布了。只是我自己屏蔽了formhash呵呵-最近我在家开了个网络公司,靖州网站建设,大家支持一下我啊!开头好难!

转载于:https://www.cnblogs.com/oxite/archive/2009/06/19/1506857.html

最新回复(0)