blackfeather
2013/4/24
℃
1评论
远程屏幕传输,不用多解释了。这个代码很简单,就是将屏幕截图成JPG,然后发送数据,接收到之后显示出来,效率很低很低。。。 我原来做过一个分块差异比较的传输算法,是将屏幕分成M*N的矩阵,然后每个块去1-2个特征点,比较前后特征点的RGB值是否发生改变来判定这个块是否发生变化,变化了就发送这个块。这么操作效率是高了那么一点,但CPU占用很高(VB本身也不是干着活用的,效率比较低)。悲剧的是那份代码在一次硬盘出意外之后木有了。。。泪流满面。。。
这份代码至少给想了解这方面原理的同学不少启发,从屏幕截取到传输与显示,winsock应用和传输协议等等。
...
More...
blackfeather
2011/7/11
℃
0评论
这几天做点家伙,用到了很多动态调用的实例,淘到了一些比较有意思的代码,都贴出来涨涨人气。
这份代码是动态调用API的例子。使用的人类(Supermanking)同学(暂时称为同学吧。。比较亲切)做的APIClass类,着实很强大。
调用这个类的代码如下:
Dim API As New APIClass
Dim APIScript As String
...
More...
blackfeather
2011/7/10
℃
0评论
从内存中加载并调用DLL的代码,很邪恶,VBGOOD的仙剑魔同学从C翻译成VB的。
直接在内存中调用DLL中的函数,根据这个代码会产生很邪恶的想法,进而编出很邪恶的程序。。。。我啥也没说。。。
...
More...
blackfeather
2011/7/9
℃
0评论
一些功能比如sendmessage、截屏等等在SYSTEM权限下会不工作,以前没有碰到过这个情况所以一直没去处理,前两天做模拟点击的时候必须处理这个情况,于是有了个这个传说中的降权的代码。SYSTEM权限的进程建立普通权限的进程第一反应就是CreateProcessAsUser函数。于是有了下面的代码:
Option Explicit
...
More...
blackfeather
2011/7/4
℃
0评论
话说前不久开发某个系统的时候,为了提高服务器的性能使用了IOCP模型,这份代码是在网上查资料的时候从VBGOOD淘到的,基本框架算是写出来了,是一份难得的极品代码。
不过最后我没用用这个代码。。。因为时间和精力有限,直接使用了别人的IOCP服务器组件。。。
但是这份代码还是很有价值的,有时间了重新整理下,加上异常情况捕捉和错误处理等等等等。。。
代码如下:
IOCP模型_VB服务器代码
...
More...
blackfeather
2011/6/30
℃
0评论
好久没有写文章,发一篇顶顶博客访问量。别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么。。流量该多少就多少吧。。。
回到主题,在webbrowser中点击某链接网上几乎都是用document对象模拟点击,这个方法基本能应对一般的情况,但是例如广告联盟的点击XXX就有检测机制(不多解释,你们懂的)。所以完全模拟鼠标的点击事件就比较完美。于是我用了最常见的SendMessage。
接下来就要解决一个问题,webbrowser的句柄问题。从控件本身得到的句柄不是真正的浏览窗口的句柄,用SPY++看一下就能看出来,这里不贴图了。按照这个窗体的结构,用以下代码可以获取到网页的窗口的句柄。
...
More...
blackfeather
2011/3/7
℃
0评论
blackfeather
2010/5/12
℃
3评论
很多人都头疼过一个问题就是:在webbrowser中的对话框怎么屏蔽? 比如<script>alert('test')</script>这种弹出来一个对话框,内容为test(HTML里面的Javascript,懂网页的人应该都明白)。对于这种的屏蔽网上有两种方式:
1、在BeforeNavixxxx的事件中执行 webbrowser.Document.parentWindow.execScript "function alert(){return;}","Javascript" 。大概意思就是执行在webbrowser中执行一句JavaScript,把alert这个弹窗的函数重写了,执行的时候直接return。优点是杀人于无形,主动过滤,缺点是貌似不能屏蔽script在frame中的弹窗。。。
...
More...
blackfeather
2010/2/28
℃
1评论
最近做基于GSM的无线报警系统,用到了TC35I模块。但是这个玩意发送中文短信的时候必须使用PDU的方式来发送,所以很多信息都要先经过编码。网上有很详细的编码格式等等,但是每次都手动来一次太麻烦了,花了一晚上的时间写了这个东西并且调试通过了。
首先我大致说一下PDU编码格式。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。
...
More...
blackfeather
2010/1/25
℃
1评论