文章列表

[C]ProcessID, Process Handle, Window Handle 之间的互相转换

提供了一组在 Windows 环境下通过 Delphi/Pascal 实现进程标识符、进程句柄与窗口句柄三者互相转换的完整函数代码,涵盖通过程序名称获取 PID 与窗口句柄、通过 PID 枚举可见窗口获取主窗口句柄、通过窗口句柄反向查询进程 阅读全文

[vb]调用shell32.dll未公开函数的例子

调用 shell32.dll 未公开函数的技术示例,通过逆向工程与调试分析揭示系统 DLL 中未文档化接口的调用方法,展示如何在 VB 环境下实现底层系统功能扩展,对理解 Windows 内部机制及非公开 API 使用具有参考意义。 阅读全文

[工具]通用窗口化工具测试版v0.2

, , ,
通用窗口化工具测试版 v0.2 发布,提供软件主界面与图标预览。该工具支持将应用程序窗口化管理,当前版本处于测试阶段,用户可通过附件下载获取安装包。 阅读全文

[vb]功能扩展

, ,
介绍通过 VB 的 Add-Ins 功能扩展开发环境的方法,以实现对窗体控件进行批量格式化处理。详细演示了创建 ActiveX DLL 项目的完整流程,包括建立 HSizeAlign 类和 Alignment 类、编写菜单连接与事件处理代码、配置 VB 的工程设置等步骤。 阅读全文

[vb]算数精度

,
VB 算术精度问题源于浮点数在二进制中的表示限制。Single 类型累加 0.01 时,因无法精确表示十进制小数,产生累积舍入误差,导致 100 次累加结果显为 1.009999 而非 1.01。浮点数比较不可直接用等号,应改用差值容差判断,如判断两数差值绝对值小于 1e-6 即认为相等。 阅读全文

[vb]RND随机数的原理

, , ,
Microsoft Visual Basic 的 RND 函数采用线性同余算法生成伪随机数,其核心公式为 x1 = (x0 × a + c) MOD 2^24,其中初始值 x0 为 327680,乘数 a 为 1140671485,增量 c 阅读全文

[vb]比较日期

, ,
在 VB 中进行日期比较时,直接使用等号运算符可能产生误差。通过 DateAdd 函数生成的日期与通过 TimeSerial 函数计算得到的日期,虽然显示结果相同,但内部实际值存在细微差异。建议使用 DateDiff 函数进行比较,该函数具有较低的容差,能有效避免日期比较误差。 阅读全文