论坛小工具!上上图片:
是不是很有用?可以时时获取“问答区”“最新帖子”“最新定制”“最新回复”“本周热帖”“随机精华”“精华评审专用”七项部分的时事帖子!!
来讲讲原理:
源码 = 到文本 (网页_访问S (“http://bbs.125.la/”, , , , , , , , , )) 正则. 创建 ( #匹配问答区, 源码 )匹配数量 = 正则. 取匹配数量 ()超级列表框1. 全部删除 ()取消行色 (超级列表框1 )计次循环首 (匹配数量, i )索引 = 超级列表框1. 插入表项 (-1, 到文本 (i ), , , , )超级列表框1. 置标题 (索引, 1, 正则. 取子匹配文本 (i, 11 )) 如果真 (正则. 取子匹配文本 (i, 11 ) = “已解决”)超级列表框置行色 (_启动窗口, 超级列表框1, 索引, #绿色, 16777215 )超级列表框1.置标题 (索引, 2, 正则.取子匹配文本 (i, 5))超级列表框1. 置标题 (索引, 3, 正则. 取子匹配文本 (i, 3 )) 超级列表框1. 置标题 (索引, 4, 正则. 取子匹配文本 (i, 7 )) 超级列表框1. 置标题 (索引, 5, 正则. 取子匹配文本 (i, 9 )) 超级列表框1. 置标题 (索引, 6, 正则. 取子匹配文本 (i, 4 )) 计次循环尾 ()
这是获取问答区的代码,主要是一个原理:正则表达式!!(重点)
- <!-- <span><a href="(.*?)" target="_blank" style="color:#888888" rel="nofollow">(.*?)</a></span> -->
- <span class="sprice">(.*?)</span>
- <a href="(.*?)" target="_blank" title="标题:(.*?)
- 楼主:(.*?)发表于:(.*?)
- \回?\复?\:?(.*?)\(?[\s\S]?\)?回复:?(.*?)" name="xxx" class="newhelp">\[<font color=(.*?)>(.*?)</font>\]
复制代码 我们看看这个正则表达式“<a href="(.*?)"”,这里(.*?)就是匹配<a href=""引号里的所有内容,以此类推
- \
- ------------------------------------------------
- 将下一个字符标记为特殊字符或字面值。
- 例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\"与""匹配对面,"\("与"("匹配。
复制代码 这是应用助手对"\"的解释
- \s
- ------------------------------------------------
- 与任何白字符匹配,包括空格、制表符、分页符等。等价于"[\f\n\r\t\v]"。
复制代码- \S
- ------------------------------------------------
- 与任何非空白的字符匹配。等价于"[^\f\n\r\t\v]"。
复制代码 这是对\s和\S的解释
主要原理就是这样
我也带上了内存皮肤
内存皮肤的主要原理是把dll文件用内存命令运行(_LoadLibrary),再取得子程序指针运行(CALL)(当然提供的参数是指针了!)
忘了说了,还可以右键打开网页哦,以及可以学学超级列表框高亮(主要是SetWindowLong来重新设置窗口函数)
|
NewProc | 整数型 | | |
hwnd | 整数型 | | | | msg | 整数型 | | | | wparam | 整数型 | | | | lparam | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | lvcd | NMLVCUSTOMDRAW | | | hdr | NMHDR | | | i | 整数型 | | | ii | 整数型 | | | 表项 | 文本型 | | 0 | 文本 | 文本型 | | 0 | 背景 | 文本型 | | 0 | 如果真 (msg = 78 ) CopyMemory_NMHDR (hdr, lparam, 12 )如果真 (hdr.code = -12 ) CopyMemory_NMLVCUSTOMDRAW (lvcd, lparam, 60 )判断 (lvcd.nmcd.dwDrawStage = 1 ) 返回 (32 ) 判断 (lvcd.nmcd.dwDrawStage = 65537 ) 计次循环首 (取数组成员数 (列表框_ ), i )如果真 (hdr.hwndFrom = 列表框_ [i ]. 取窗口句柄 ()) 表项 = 分割文本 (表项索引_ [i ], “|”, )文本 = 分割文本 (文本颜色_ [i ], “|”, )背景 = 分割文本 (背景颜色_ [i ], “|”, )计次循环首 (取数组成员数 (表项 ), ii )如果真 (lvcd.nmcd.dwItemSpec = 到数值 (表项 [ii ])) lvcd.clrText = 到数值 (文本 [ii ])lvcd.clrTextBk = 到数值 (背景 [ii ])计次循环尾 ()如果真 (列表框_ [i ]. 是否被选择 (lvcd.nmcd.dwItemSpec )) lvcd.clrText = #白色 lvcd.clrTextBk = 16747068 lvcd.nmcd.uItemState = 0 CopyMemory_NMLVCUSTOMDRAWTolParam (lparam, lvcd, 60 )返回 (0 ) 计次循环尾 ()返回 (CallWindowProc (old_ [1 ], hwnd, msg, wparam, lparam ))
哈哈哈,注释也不少哦!
当然还有留了点私心哦(专门写了个精华评审专用
)
如果你觉得本源码可以或者读你哦与帮助!好评打赏走一波!~源码回复下载!!
精易论坛小工具.zip
(810.05 KB, 下载次数: 243)
|