忙忙碌碌,更新不及时诶。
C/C++代码

键盘记录之RawInput

 

键盘记录都已经被用烂了,最近涉及到这方便的东西,挑了半天选了rawinput这个方法。

大致流程就是先注册一个原始输入设备并制定消息回调窗口的句柄:

 

...

More...

blackfeather 2013/3/13 0评论

随心杂谈

博客又恢复了。。。我为什么说又呢。。。

 之前博客在香港的空间放着好好的,某天到期了没有任何提醒就删掉了整个空间,后来才发现IDC都倒闭了。。。搞鸡毛啊,备份还是去年5月份的,拖了几个月又搞起来了。。。 这都N次博客不能访问了。。。为了弥补这次的失误,未来一个星期内发一些犀利的玩意。。。看来以后不能偷懒了,要尽快点做备份。。。

More...

blackfeather 2013/3/10 0评论

其他代码

内存中截屏并转换为JPG编码的数据 -- VC

 

最近工作中要用到截屏,都知道使用BitBlt截取到的数据是BMP编码,一个1024x*的桌面就要2M多,转换为jpg编码大小是100K左右,gif根据quality也会很小。

但是网上找到的转码都会生成一个临时文件,比如将BMP保存成文件后,建立编码器然后对文件编码,还有的就是编码器编码完后直接就生成了文件,这个明显不符合我们的需求,我们需要的就是内存中截取,内存中转换。

经过一上午的资料查询,搞定了这个玩意。大致流程是先BitBlt到内存BMP编码的数据,然后转换为数据流(Stream),建立一个编码器直接对流进行编码,最后将流转换为buffer,最后生成的buffer可以直接保存成jpg后缀的文件,直接打开即可查看。

...

More...

blackfeather 2012/3/28 1评论

其他代码

获取本机IP、MAC及获取网关MAC -- VC

 

由于工作关系,最近转投VC的开发了。。。当然,还是要从最近本做起的。最近跟网络这块接触较多,写了两段小函数。

获取本机MAC,网上的代码都写烂了,但是异常处理不太好,比如多网卡等情况,于是自己写了一段简单明了靠谱的代码。

具体流程为先获取自己程序所在的网络的网络名,然后根据网络名获取IP,最后sendarp得到MAC。思路清晰。。。。

代码如下:

 

CString GetLocalIP()

...

More...

blackfeather 2012/1/17 0评论

随心杂谈

百度搜索引擎的一个令人费解的情况

 

这个情况早在2009年11月就发现了,当时在VBGOOD的水区发帖说明,结果没几天就沉了。。。情况是这样子的:

QQ上一个搞VB的女性朋友叫Gcyun,VB的编程水平很高,功底不错。她在百度空间中经常发些东西出来,于是我的这个博客上加了她的空间链接,链接的名字写的略显彪悍,大家可以看看我的博客首页上有显示。懒得看的朋友看下图:

 

...

More...

blackfeather 2011/7/12 3评论

VB编程

远程屏幕传输--VB

 

远程屏幕传输,不用多解释了。这个代码很简单,就是将屏幕截图成JPG,然后发送数据,接收到之后显示出来,效率很低很低。。。 我原来做过一个分块差异比较的传输算法,是将屏幕分成M*N的矩阵,然后每个块去1-2个特征点,比较前后特征点的RGB值是否发生改变来判定这个块是否发生变化,变化了就发送这个块。这么操作效率是高了那么一点,但CPU占用很高(VB本身也不是干着活用的,效率比较低)。悲剧的是那份代码在一次硬盘出意外之后木有了。。。泪流满面。。。

这份代码至少给想了解这方面原理的同学不少启发,从屏幕截取到传输与显示,winsock应用和传输协议等等。

...

More...

blackfeather 2011/7/11 0评论

VB编程

内存中动态调用API--VB

 

这几天做点家伙,用到了很多动态调用的实例,淘到了一些比较有意思的代码,都贴出来涨涨人气。

这份代码是动态调用API的例子。使用的人类(Supermanking)同学(暂时称为同学吧。。比较亲切)做的APIClass类,着实很强大。

调用这个类的代码如下:

   Dim API As New APIClass
   Dim APIScript As String
...

More...

blackfeather 2011/7/10 0评论

VB编程

内存加载DLL并调用函数--VB

 

从内存中加载并调用DLL的代码,很邪恶,VBGOOD的仙剑魔同学从C翻译成VB的。

直接在内存中调用DLL中的函数,根据这个代码会产生很邪恶的想法,进而编出很邪恶的程序。。。。我啥也没说。。。

...

More...

blackfeather 2011/7/9 0评论

VB编程

SYSTEM进程建立普通权限的进程--VB

 

一些功能比如sendmessage、截屏等等在SYSTEM权限下会不工作,以前没有碰到过这个情况所以一直没去处理,前两天做模拟点击的时候必须处理这个情况,于是有了个这个传说中的降权的代码。SYSTEM权限的进程建立普通权限的进程第一反应就是CreateProcessAsUser函数。于是有了下面的代码:

 

Option Explicit

...

More...

blackfeather 2011/7/4 0评论