抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言 本文所描述的所有内容和算法,均未使用任何外部库,且已经在开源压缩软件PicSizer中使用 PicSizer是我独立编写的批量图片压缩软件,主要功能是实现网页图片的压缩.因此所有的算法都是优先考虑网页显示的.如果你对图片压缩感兴趣,可以前往Gitee查看源码.软件完全开源,大小仅不到 1 MB,可放心使用,删除后不会有残留. PicSizer发行版https://gitee.com/...
C#

窗体实现 使用C++创建一个窗体,并置顶,为窗体设置合适的透明度,就能达到透明水印效果. 为了让被覆盖的其它窗体能正常响应鼠标事件,需要屏蔽自己窗体的鼠标事件 本文所讲的方法就是使用窗体实现 DirectX实现 许多全屏游戏的画面是由DirectX或OpenGL绘制,此时所有窗体都会被屏蔽,无论用什么方法置顶都没用.我所能想到的方法是Hook到显卡驱动,在DirectX绘图之后执行自己的...

病毒表现 键盘监听病毒在网吧中非常流行,它在启动后会监听用户的键盘输入事件,如果有人使用账号密码登录,那么他所按下的每一个键都会被记录下来,被发送给别有用心的人.再通过两次按键的时间差,或者根据回车、tab这些标志性按键,就可以大致推断出账号和密码. 原理分析 该病毒能够记录所有窗口的输入事件,因此基本可以确定是用了键盘钩子.钩子函数会在事件发生后第一时间收到通知并处理.这样无论用户输入...

在硬盘里保存txt或二进制文件非常容易,当需要保存的对象是一个自定义类的对象时,此时采用txt或二进制存储都较为复杂,如果采用txt形式,那么在保存非文本的数据时,需要手动转换,并且txt非常容易修改.保存为二进制文件较为简单,C#还提供了int32,byte等类型的读写方法,可以直接使用,但是仍有弊端,即代码复杂,你需要不断地读取,赋值. 实际上C#提供了序列化存储的方法,可以轻松地把一个...
C#