易语言U盘锁源码
系统结构:MsgProc,取磁盘卷序列号,窗口透明度,SetWindowLong,CallWindowProc,复制结构体,API_设置窗口信息,API_透明窗口,GetVolumeInformationA,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ MsgProc
| |
| |------ __启动窗口_将被销毁
| |
| |------ 取磁盘卷序列号
| |
| |
======窗口程序集2
| |
| |------ _窗口1_创建完毕
| |
| |------ 窗口透明度
| |
| |------ _时钟1_周期事件
| |
| |
======调用的Dll
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ 复制结构体
| |
| |---[dll]------ API_设置窗口信息
| |
| |---[dll]------ API_透明窗口
| |
| |---[dll]------ GetVolumeInformationA
调用的DLL命令:
.DLL命令 SetWindowLong, 子程序指针, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 value, 子程序指针
.DLL命令 CallWindowProc, 整数型, , "CallWindowProcA"
.参数 proc, 子程序指针
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wp, 整数型
.参数 lp, 整数型
.DLL命令 复制结构体, 整数型, , "RtlMoveMemory"
.参数 dest, PDEV_BROADCAST_VOLUME, 传址
.参数 source, 整数型
.参数 len, 整数型, , 14
.DLL命令 API_设置窗口信息, 整数型, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 API_透明窗口, 逻辑型, , "SetLayeredWindowAttributes"
.参数 hwnd, 整数型
.参数 crKey, 整数型
.参数 bAlpha, 字节型
.参数 dwFlags, 整数型
.DLL命令 GetVolumeInformationA, 整数型, "kernel32", "GetVolumeInformationA", 公开, GetVolumeInformationA,Long,非零表示成功,零表示失败。
.参数 卷根路径, 文本型, , lpRootPathName String,欲获取信息的那个卷的根路径 c:\
.参数 卷名, 文本型, 传址, lpVolumeNameBuffer String,用于装载卷名(卷标)的一个字串
.参数 卷名字符长度, 整数型, 传址, nVolumeNameSize Long,lpVolumeNameBuffer字串的长度
.参数 磁盘卷序列号, 整数型, 传址, lpVolumeSerialNumber Long,用于装载磁盘卷序列号的变量
.参数 文件夹名长度, 整数型, 传址, lpMaximumComponentLength Long,指定一个变量,用于装载文件名每一部分的长度。例如,在“c:\component1\component2.ext”的情况下,它就代表component1或component2名称的长度
.参数 标志, 整数型, , 具体值自己去查找
.参数 文件系统名称, 文本型, 传址, lpFileSystemNameBuffer String,指定一个缓冲区,用于装载文件系统的名称(如FAT,NTFS以及其他)
.参数 名称长度, 整数型, , nFileSystemNameSize Long,lpFileSystemNameBuffer字串的长度
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。