├── .gitattributes ├── .gitignore ├── README.md ├── ThemeText ├── ThemeText.e └── readme.md ├── UIPI ├── readme.md ├── wz_窗口消息过滤.e └── wz_窗口消息过滤.ec ├── ping ├── readme.md ├── wz_ping.e └── wz_ping.ec ├── 取PE文件版本信息 ├── readme.md ├── wz_取PE版本信息.e └── wz_取PE版本信息.ec ├── 取Windows版本 ├── readme.md ├── wz_WindowsVersionHelper.e └── wz_WindowsVersionHelper.ec ├── 取任务栏信息 ├── readme.md ├── wz_获取任务栏信息模块.e └── wz_获取任务栏信息模块.ec ├── 后台任务类 ├── readme.md ├── wz_后台任务类.e ├── wz_后台任务类.ec ├── 一般使用演示.e └── 后台带进度下载演示.e ├── 命令行管道类 ├── readme.md ├── wz_命令行管道类.e └── wz_命令行管道类.ec ├── 强行兼容高DPI ├── readme.md ├── wz_强行兼容高DPI.e └── wz_强行兼容高DPI.ec ├── 日志类 ├── logtest.e ├── readme.md ├── wz_Logger.e └── wz_Logger.ec ├── 组合框自适应宽度 ├── readme.md ├── wz_组合框自适应宽度.e ├── wz_组合框自适应宽度.ec └── 组合框自适应宽度_测试.e ├── 调用.NET ├── dotnet_lib.cs ├── dotnet_lib.dll ├── readme.md └── wz_易语言调用.NET.e ├── 超级hook ├── readme.md ├── wz_超级hook.e └── wz_超级hook.ec ├── 进度条高级特性 ├── API进度条.e └── readme.md └── 进程内存类 ├── readme.md ├── wz_进程内存类.e └── wz_进程内存类.ec /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | 49 | 50 | *.bak 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 我写的各种易语言代码都会发到这里。 2 | 3 | 更多内容请关注我的博客: -------------------------------------------------------------------------------- /ThemeText/ThemeText.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/ThemeText/ThemeText.e -------------------------------------------------------------------------------- /ThemeText/readme.md: -------------------------------------------------------------------------------- 1 | 绘制基于当前桌面主题的文本 -------------------------------------------------------------------------------- /UIPI/readme.md: -------------------------------------------------------------------------------- 1 | 设置窗口消息过滤,允许普通进程给管理员进程发送消息 -------------------------------------------------------------------------------- /UIPI/wz_窗口消息过滤.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/UIPI/wz_窗口消息过滤.e -------------------------------------------------------------------------------- /UIPI/wz_窗口消息过滤.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/UIPI/wz_窗口消息过滤.ec -------------------------------------------------------------------------------- /ping/readme.md: -------------------------------------------------------------------------------- 1 | 调用API进行ping,支持自定义发包大小 -------------------------------------------------------------------------------- /ping/wz_ping.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/ping/wz_ping.e -------------------------------------------------------------------------------- /ping/wz_ping.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/ping/wz_ping.ec -------------------------------------------------------------------------------- /取PE文件版本信息/readme.md: -------------------------------------------------------------------------------- 1 | 可取所有版本信息,包括版本号这类数值信息、文件描述等文本信息,如果包含多种语言的版本信息,可分别获取。 2 | 3 | 顺便一说,在win10上,读取系统核心文件版本号,如ntdll.dll,会返回6.2(win8版本号),微软hook得真彻底,服了!(解决方法是添加manifest) 4 | -------------------------------------------------------------------------------- /取PE文件版本信息/wz_取PE版本信息.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取PE文件版本信息/wz_取PE版本信息.e -------------------------------------------------------------------------------- /取PE文件版本信息/wz_取PE版本信息.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取PE文件版本信息/wz_取PE版本信息.ec -------------------------------------------------------------------------------- /取Windows版本/readme.md: -------------------------------------------------------------------------------- 1 | 各种取Windows版本的方法。 2 | 3 | 想要稳定,还是使用微软推荐的VerifyVersionInfo,并添加manifest。 -------------------------------------------------------------------------------- /取Windows版本/wz_WindowsVersionHelper.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取Windows版本/wz_WindowsVersionHelper.e -------------------------------------------------------------------------------- /取Windows版本/wz_WindowsVersionHelper.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取Windows版本/wz_WindowsVersionHelper.ec -------------------------------------------------------------------------------- /取任务栏信息/readme.md: -------------------------------------------------------------------------------- 1 | 取任务栏高度或宽度、任务栏位置。 -------------------------------------------------------------------------------- /取任务栏信息/wz_获取任务栏信息模块.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取任务栏信息/wz_获取任务栏信息模块.e -------------------------------------------------------------------------------- /取任务栏信息/wz_获取任务栏信息模块.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/取任务栏信息/wz_获取任务栏信息模块.ec -------------------------------------------------------------------------------- /后台任务类/readme.md: -------------------------------------------------------------------------------- 1 | 该模块是什么: 2 | 3 | 1. 仿.NET Framework中的BackgroundWorker,帮助新手更容易的使用多线程 4 | 2. 简化多线程的创建和管理 5 | 3. **完成回调、进度回调都会在窗口线程中执行,可安全的操作窗口组件** 6 | 4. 同时支持延时任务、间隔执行任务,功能与时钟类似 7 | 8 | 该模块不是什么: 9 | 10 | 1. 不是线程池,可创建的任务数量有上限,最大允许60个任务 11 | 2. 不是IOCP等异步IO,不能用来创建网络连接池 -------------------------------------------------------------------------------- /后台任务类/wz_后台任务类.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/后台任务类/wz_后台任务类.e -------------------------------------------------------------------------------- /后台任务类/wz_后台任务类.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/后台任务类/wz_后台任务类.ec -------------------------------------------------------------------------------- /后台任务类/一般使用演示.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/后台任务类/一般使用演示.e -------------------------------------------------------------------------------- /后台任务类/后台带进度下载演示.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/后台任务类/后台带进度下载演示.e -------------------------------------------------------------------------------- /命令行管道类/readme.md: -------------------------------------------------------------------------------- 1 | 命令行管道类 -------------------------------------------------------------------------------- /命令行管道类/wz_命令行管道类.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/命令行管道类/wz_命令行管道类.e -------------------------------------------------------------------------------- /命令行管道类/wz_命令行管道类.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/命令行管道类/wz_命令行管道类.ec -------------------------------------------------------------------------------- /强行兼容高DPI/readme.md: -------------------------------------------------------------------------------- 1 | 兼容高DPI是个困难的活儿,除非你是用的WPF写界面,其他编程语言都很麻烦(特别是易语言,原生窗体基本别想兼容了。。) 2 | 3 | 如果自己的程序不针对高DPI做修改,轻则出现界面显示模糊,重则界面显示错乱、文字超出边界。为了让自己的程序能凑合用,我才搞了这个“强行兼容”高DPI。 4 | 5 | 什么叫“强行兼容”呢?如果是正常兼容,那界面尺寸应该有所放大,放大后依然能正常显示。我这个,只是告诉系统:“我自己能处理高DPI,你别插手捣乱”,但是实际上啥也没做。实际效果就是,界面尺寸跟96DPI(100%缩放)时一样,几乎所有界面都能正常显示(已知简单超文本框有问题)。弊端就是界面显示略小,如果用户屏幕分辨率太高(如2K、4K分辨率),则可能会看不清界面。 6 | 7 | 毕竟强行兼容嘛,先保证能用,至于用得舒服不舒服,那以后再慢慢说~(等我有高DPI显示屏再说。。。) 8 | 9 | 我这个代码就是做了两件事: 10 | 11 | 1. hook GetStockObject,如果参数为DEFAULT_GUI_FONT,就返回固定的9号宋体(避免xp风格的字体缩放导致文字显示溢出) 12 | 2. 调用SetProcessDPIAware告诉系统我自己能处理高DPI(禁用DPI虚拟化) 13 | 14 | 由于SetProcessDPIAware需要在所有界面显示前调用,所以我直接做到了模块的“_启动子程序”里,只要引入模块就会自动调用。 15 | 16 | 是的,使用方法就是如此简单,只要引入模块即可,不需要调用任何模块函数(模块里也没有能调用的函数)。 17 | -------------------------------------------------------------------------------- /强行兼容高DPI/wz_强行兼容高DPI.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/强行兼容高DPI/wz_强行兼容高DPI.e -------------------------------------------------------------------------------- /强行兼容高DPI/wz_强行兼容高DPI.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/强行兼容高DPI/wz_强行兼容高DPI.ec -------------------------------------------------------------------------------- /日志类/logtest.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/日志类/logtest.e -------------------------------------------------------------------------------- /日志类/readme.md: -------------------------------------------------------------------------------- 1 | 仿log4j,一处调用多处输出。 -------------------------------------------------------------------------------- /日志类/wz_Logger.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/日志类/wz_Logger.e -------------------------------------------------------------------------------- /日志类/wz_Logger.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/日志类/wz_Logger.ec -------------------------------------------------------------------------------- /组合框自适应宽度/readme.md: -------------------------------------------------------------------------------- 1 | 组合框下拉列表自适应宽度 -------------------------------------------------------------------------------- /组合框自适应宽度/wz_组合框自适应宽度.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/组合框自适应宽度/wz_组合框自适应宽度.e -------------------------------------------------------------------------------- /组合框自适应宽度/wz_组合框自适应宽度.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/组合框自适应宽度/wz_组合框自适应宽度.ec -------------------------------------------------------------------------------- /组合框自适应宽度/组合框自适应宽度_测试.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/组合框自适应宽度/组合框自适应宽度_测试.e -------------------------------------------------------------------------------- /调用.NET/dotnet_lib.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using System.Windows.Forms; 3 | 4 | namespace dotnet_lib 5 | { 6 | [ClassInterface(ClassInterfaceType.AutoDispatch), ComVisible(true)] 7 | public class Class1 8 | { 9 | public Class1() 10 | { 11 | MessageBox.Show("Class1已创建", "C#中的信息框", MessageBoxButtons.OK, MessageBoxIcon.Information); 12 | } 13 | 14 | ~Class1() 15 | { 16 | MessageBox.Show("Class1已释放", "C#中的信息框", MessageBoxButtons.OK, MessageBoxIcon.Information); 17 | } 18 | 19 | public static int Test(string msg) 20 | { 21 | MessageBox.Show(msg, "C#中的信息框", MessageBoxButtons.OK, MessageBoxIcon.Information); 22 | return msg.Length; 23 | } 24 | 25 | public int func() 26 | { 27 | return 42; 28 | } 29 | 30 | public int IntValue { get; set; } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /调用.NET/dotnet_lib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/调用.NET/dotnet_lib.dll -------------------------------------------------------------------------------- /调用.NET/readme.md: -------------------------------------------------------------------------------- 1 | 试验性的调用.NET,稳定性有待观察,请谨慎用于生产环境。 -------------------------------------------------------------------------------- /调用.NET/wz_易语言调用.NET.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/调用.NET/wz_易语言调用.NET.e -------------------------------------------------------------------------------- /超级hook/readme.md: -------------------------------------------------------------------------------- 1 | ## 相比其他模块新增的特性: 2 | 3 | 1. 自动设置窗口消息过滤,修复win7以上系统回调失败 4 | 2. 使用后台自动创建的隐藏窗口作为回调窗口,不修改已有窗口 5 | 3. 去除效率低下的线程回调模式,仅保留窗口消息回调 6 | -------------------------------------------------------------------------------- /超级hook/wz_超级hook.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/超级hook/wz_超级hook.e -------------------------------------------------------------------------------- /超级hook/wz_超级hook.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/超级hook/wz_超级hook.ec -------------------------------------------------------------------------------- /进度条高级特性/API进度条.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/进度条高级特性/API进度条.e -------------------------------------------------------------------------------- /进度条高级特性/readme.md: -------------------------------------------------------------------------------- 1 | 演示win7以上系统中的进度条高级特性,包括: 2 | 3 | * 不确定值状态 4 | * 暂停状态(黄色进度) 5 | * 停止状态(红色进度) 6 | -------------------------------------------------------------------------------- /进程内存类/readme.md: -------------------------------------------------------------------------------- 1 | 简化跨进程内存读写。 2 | 3 | 以类的形式实现,缓存进程句柄,避免重复打开关闭进程造成的额外资源开销,效率更高。 -------------------------------------------------------------------------------- /进程内存类/wz_进程内存类.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/进程内存类/wz_进程内存类.e -------------------------------------------------------------------------------- /进程内存类/wz_进程内存类.ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wzv5/eyuyan/23ac0cb333aad504e327063a704e0e0c3e0f314f/进程内存类/wz_进程内存类.ec --------------------------------------------------------------------------------