网站已升级!
C/C++代码

利用WMI实现ring3进程监控 - VC

 

系统的进程监控方案太多了,今天翻代码又回忆起来wmi的方法。这个方法是ring3下异步的,可能用途有限,但是某些情况下还是会成为利器的。

百度找到的大部分都是VB的,这里贴出来一份VC的。

关键语句:SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'

直接发工程打包了,自己下载看吧。。。

 

...

More...

blackfeather 2013/3/19 0评论

C/C++代码

分享一个sqlite的封装类-CppSQLite

 

sqlite不多说了,很好用的一个数据库,虽然自身API用起来也很简单,但是参数很多,对于大工程来说做封装类是很有必要的,官方推荐了一个C++版本的封装类,就是这玩意。

本人测试使用非常方便,编码也有老外一贯的严谨,推荐了。析构函数帮我们做了很多擦屁股的事情,直接定义调用即可。

 

示例:

CppSQLite3DB db;  

...

More...

blackfeather 2013/3/13 0评论

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评论