RDP通道(远程桌面插件)开发指南—Delphi版

Windows的远程桌面服务,为了方便第三方开发者,对外提供了插件功能,也即RDP虚拟通道(VirtualChannels)接口。 RDP虚拟通道由两部分组成:客户端和服务端,其中客户端通道一般写成DLL形式,然后写入注册表登记,当用户运行远程桌面客户端的时候,就会自动加载它;服务端通道一般写成一个EXE,用户登录后运行它,它将会和客户端的DLL进行通信。RDP虚拟通道分为静态通道(StaticVirtualChannels)和动态通道(DynamicVirtualChannels)两种,下面分别介绍。 一、静态通道(StaticVirtualChannels) (一)客户端 1、客户端DLL ...阅读更多

 阅读全文 分类:系统编程 发表评论 2023-01-05

关于Windows解锁的那些事

这里说的解锁,意思是从Windows锁定桌面返回到用户桌面。普通用户怎么解锁呢?很简单,按下热键CTRL+ALT+DEL,出现密码输入框,输入正确的密码,然后回车或点击登录即可。对于程序员来说,如何通过程序实现这个功能呢? 一、发送 CTRL+ALT+DEL 热键 1、Windows 2000、Windows XP、Windows 2003: [sourcecode language="Delphi"] procedure MySendHotKey; const WM_HOTKEY = $0312; var HDesk_WL: HDESK; begin HDesk_WL := OpenDesk ...阅读更多

 阅读全文 分类:系统编程 发表评论 2021-11-08

也谈自己实现菜单

Windows的菜单我们每天都在使用,一般情况下,如果需要美化菜单,例如改变字体、背景颜色等,都是直接在菜单的AdvancedDrawItem事件里面进行自绘即可。但如果想实现一些特殊效果,比如说菜单半透明,就的自己实现整个菜单了。 实现一个菜单大概需要处理这些问题:(1)绘制各个菜单项。(2)菜单窗口弹出来后,所属窗口不应该失去焦点。(3)点击了菜单项后应该关闭菜单。对于问题1,我们可以简单的根据菜单项的数量,然后判断状态(比如说鼠标现在是否位于该项目上面)进行绘制;对于问题3,需要判断鼠标点击事件。对于问题2,我们可以类似实现自定义Combobox一样,响应弹出窗口的WM_ACTIVATE ...阅读更多

 阅读全文 分类:界面设计 2 Comments 2019-05-20

关于一些往事

        我有一个网站专门是面向国外销售一些代码的,链接是http://www.woods8.com。前段时间,有个自称学生的网友加我的QQ,叫我便宜点卖一个LSP的代码给他,我拒绝了,并且想起了一桩陈年往事。         刚毕业的那年,这个网站还是叫“藏鲸阁”,为了生活,里面有一些代码在出售,就是上面放了可执行的演示程序并标明价格。其中一个代码叫“极速屏幕传输”,售价是500元人民币,包括代码和开发文档,早期的木马“灰鸽子” ...阅读更多

 阅读全文 分类:未分类 15 Comments 2018-06-25

关于Winsock LSP、SPI、NSP、网游加速器那些事

        最近VPN都被封了,无法使用Google,只好自己动手,丰衣足食了。         一个是基于ifslsp的,支持TCP重定向:DeProxifier1.0         另外一个是基于nonifslsp的,支持TCP和UDP重定向:DeProxyCap1.0       &nb ...阅读更多

 阅读全文 分类:网络相关 4 Comments 2017-08-16

AQ虚拟化办公系统

        以前练习界面开发时的一个副产品,因为一直没有时间更新和维护,为了避免浪费,就放出来给感兴趣的朋友使用。         演示录像地址为:AQ云办公系统演示录像         本地软件下载地址列表:因为服务器安装程序使用了VMP加壳(http://www.vmpsoft.com/),所以有可能杀毒软件会误报,如果介意请不要下载。下面几个连接的 ...阅读更多

 阅读全文 分类:未分类 12 Comments 2017-03-03

Winsock异步转换域名到IP的一个需要注意的地方

        转换域名到IP是网络编程中使用的很频繁的功能,一般情况下gethostbyname即可,但这个函数是阻塞的,如果你的网络程序框架是基于异步的(例如消息socket、完成端口等),那么可能需要一个异步的函数。微软本身提供了一个异步的函数叫WSAAsyncGetHostByName,调用的时候,需要提供一个窗口的句柄和消息定义,当异步返回的时候,会触发该窗口的消息。问题在于,这个函数是顺序的。举个例子:你按顺序查询www.163.com、www.sina.com......,假如前面的163没有返回,实 ...阅读更多

 阅读全文 分类:网络相关 4 Comments 2014-12-06

WinPcap权威指南(四):UDP与DNS欺骗

        上一节介绍了ARP协议之后,群里面有朋友说ARP欺骗不是很简单么?实际上,实现ARP欺骗是很简单的,难点在于数据转发的速度。2004年我们做隔山打牛的时候,曾经去过一家网吧测试,刚开始是开了ARP欺骗几分钟就大量主机掉线,客人骂声一片(幸好是朋友的网吧,否则估计会被老板丢出去)。当然,那时候网上还没有ARP欺骗的介绍,更加没有什么ARP防火墙,ARP欺骗的防范是几年后的事情了。后来我们改进了算法,经过实际测试,250台电脑,原来的ICMP速度是多少(ping),开启ARP欺骗后就是多少,没有任何延迟 ...阅读更多

 阅读全文 分类:网络相关 6 Comments 2014-08-07

WinPcap权威指南(三):ARP协议

        ARP协议在局域网内使用的非常广泛,它的数据包类型分为请求包和答复包。Windows系统内部有一个缓冲区,保存了最近的ARP信息,可以在cmd下使用命令arp -a来显示目前的缓存,或者使用命令arp -d来清除该缓存(Win7下需要以管理员权限运行cmd)。         在局域网内,两台机器之间通信,实际上靠的是网卡的物理地址。比如说,本机的IP是192.168.1.80,现在想往另外一台IP为192.168.1. ...阅读更多

 阅读全文 分类:网络相关 2 Comments 2014-08-04

WinPcap权威指南(二)

        上一节我们简单介绍了WinPcap的一些基础知识,同时也枚举到所有网卡的设备名称,现在我们就可以操作网卡了。WinPcap有一个结构叫TADAPTER,你可以把它想象为一个句柄,我们平时操作文件,一般是先打开/创建一个文件,如果成功,则返回一个句柄,然后读文件就可以使用ReadFile,写文件可以使用WriteFile,操作完毕后,CloseHandle关闭这个句柄,WinPcap下的操作也是类似的: 1、打开一个网卡,返回句柄:function PacketOpenAdapter(AdapterN ...阅读更多

 阅读全文 分类:网络相关 发表评论 2014-08-03


分类

链接

RSS