Delphi中如何判断Windows是98还是NT?

馮強 2002-09-03 02:57:22
是不是使用IsWinNT(),这个函数需要uses什么库呢?如果无此函数,如何判断?
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dext 2002-09-03
  • 打赏
  • 举报
回复
GetVersionEx
happyjoe 2002-09-03
  • 打赏
  • 举报
回复
SysUtils单元有一组变量:
Win32Platform
Win32MajorVersion
Win32MinorVersion
Win32BuildNumber
Win32CSDVersion
可以判断出操作系统的版本。

具体意思:
Win32MajorVersion:
Windows 95 4
Windows 98 4
Windows Me 4
Windows NT 3.51 3
Windows NT 4.0 4
Windows 2000 5
Windows XP 5
Windows .NET Server 5


Win32MinorVersion:
Windows 95 0
Windows 98 10
Windows Me 90
Windows NT 3.51 51
Windows NT 4.0 0
Windows 2000 0
Windows XP 1
Windows .NET Server 1


Win32Platform:
VER_PLATFORM_WIN32s --- Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS --- Windows 95, Windows 98, or Windows Me.
VER_PLATFORM_WIN32_NT --- Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, or Windows .NET Server.

更详细的说明查阅MSDN中关于GetVersionEx 函数和OSVERSIONINFO结构的说明。
erickleung 2002-09-03
  • 打赏
  • 举报
回复
if
(Win32Platform <> VER_PLATFORM_WIN32_WINDOWS)
or (Win32MajorVersion > 4) then
begin
.....do anything for winNT or greater

end;
DongXF 2002-09-03
  • 打赏
  • 举报
回复
function IsWinNt: Boolean;
var
WinVersion: TOSVersionInfo;
begin
WinVersion.dwOSVersionInfoSize := SizeOf(WinVersion);
GetVersionEx(WinVersion);
Result := WinVersion.dwPlatformId = VER_PLATFORM_WIN32_NT;
end;
第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数和画图函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 画笔函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第四章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi直接调用Windows API…………………………………………………953
加密狗系列—软件狗 面向单机环境的低成本加密方案   软件狗是使用在计算机并行口和USB口上的用于软件保护的硬件产品。软件狗采用端口噪声技术,提供100字节的掉电保护存储器,具备反跟踪能力,是经济实用软件保护解决方案的首选。软件狗开发套件有两种选型:并口型和USB型。软件开发商可以采用多种方法保护软件,防止软件被非法拷贝使用。软件狗开发套件由:软件狗、加密接口、开发商工具等组成。 1.软件狗 软件狗指安装在并口上或 USB 口上的硬件狗。软件狗是一个可编程、可读写的存储设备,具有 100 个字节的数据存储区。如果软件狗插在计算机上,您可以通过相应的加密接口函数或开发商工具对软件狗进行访问。 2.加密接口 软件狗开发套件提供的加密接口是一套包含各种开发语言的程序接口模块,可以嵌在程序的源代码。您可以在您程序使用软件狗开发套件提供的加密接口对软件狗进行操作。 3.开发商工具(DogEdt32.EXE) 软件狗开发商工具可以使开发商方便地对软件狗存储区进行编辑、读取系列号以及连续初始化等操作。 工作原理: 开发商程序通过调用软件狗开发套件提供的接口模块对软件狗操作,软件狗响应该操作并通过接口模块将相应数据返回给开发商程序。开发商程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的软件狗,开发商可以将应用程序终止运行。 简要示意如下: 软件狗开发套件提供了两种加密方案:使用 Obj 、 DLL 、 ActiveX 控件或者直接使用外壳工具,请根据您的需求选择方案。 加密方案一:使用 Obj 、 DLL 、 ActiveX 控件 Obj 、 DLL 、 ActiveX 控件提供了操作软件狗的接口函数,您可以直接在应用程序的源代码里加入这些接口函数的调用,来保护您的一个或者多个软件,然后重新编译您的应用程序。 由您来设置应用程序调用加密接口的次数以及没有发现软件狗采取的措施。原则上您调用、设置的加密接口越多将更有利于阻止潜在破坏您的软件保护。 加密方案二:使用外壳工具 使用外壳工具对软件保护是一种快速、简单的保护方案。它不象使用接口函数需要对源代码进行改动,而是自动给您的可执行应用程序加了一个保护层。在程序开始运行和运行当会自动地访问软件狗是否存在。假如软件狗不存在,用户将看到一个错误提示,该应用程序将不能运行。 产品特点: 软件狗开发套件适用于 DOS 、 Windows 3X/9X/ME/NT/2000/XP 、 Linux 操作系统,支持几乎所有主流编程语言、开发工具。软件狗的主要特点如下: 数据交换随机噪声技术 有效地对抗逻辑分析仪及各种调试工具的攻击,完全禁止软件仿真程序模拟并口的数据。 迷宫技术 在 RC-DL 函数入口和出口之间包含大量复杂的判断跳转干扰代码,动态改变执行次序,提升 RC-DL 的抗跟踪能力。 时间闸 硬件狗内部设有时间闸,各种操作必须在规定的时间内完成。硬件狗正常操作用时很短,但跟踪时用时较长,超过规定时间,硬件狗将返回错误结果。 AS 技术 API 函数调用与 SHELL 外壳加密相结合的方式,同时使用能够达到极高的加密强度。 RC-DL 开发套件在外壳加密工具与调用的 API 函数建立了对应关系。这样处理后,程序调用的 API 函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对 API 函数的调用。 抗共享 可以通过编程的方式实现对抗并口共享器。 存储器 提供 100 字节掉电保持数据存储区供开发商存放关键数据、配置参数等信息,可通过 RC-DL 开发商工具或接口函数对存储区进行读写。 改良的硬件驱动程序 驱动程序的安装及发布更加方便、快捷,开发商只需使用 InstDrv.exe 安装驱动程序,硬件即可正常工作。 崭新的硬件狗编辑工具 DogEdt32.exe 集成了原有 DogEdt32.exe 、 Reveal.exe 、 Convert.exe 三个工具,并新增错误码查询功能,令硬件狗编辑调试过程更趋简捷、顺畅。 高强度动态库加密方式 在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性。 支持 ActiveX 控件 开发商可以在网页或 VB 、 VC 使用 ActiveX 控件对硬件狗进行操作。 Linux 模块 提供了针对 Linux 内核 2.2 和 2.4 版本驱动程序,开发商可以使用 Linux 模块保护运行于 Linux 操作系统上的应用程序。 新增功能: 软件狗开发套件 3.0 版新增功能在软件狗开发套件 V3.0 ,新增了与原并口硬件完全兼容的 UDA 型 USB 软件狗。 USB 软件狗也提供了 100 字节的用户存储区。新的开发商工具( DogEdt32.EXE )或接口函数既可以老的并口硬件,也可以对新的 USB 硬件进行操作。 已安装了软件狗开发套件 V2.1 的老用户如要使用 UDA 型 USB 软件狗,必须重新安装软件狗开发套件 V3.0 ,以安装 UDA 型 USB 软件狗的驱动程序并更新开发套件的 OBJ 。 开发商如果使用 WIN32 模块,在 Windows98 或更高版本( WindowsME/2K/XP )下既可以使用 USB 软件狗也可以使用并口软件狗。目前暂不提供 USB 软件狗在 Windows NT4 上的驱动程序,即在 Windows NT4 操作系统上,目前只能使用并口软件狗。 在安装 Linux2.4 以上内核的 Linux 系统,既可以使用并口软件狗也可以使用 USB 软件狗。 WIN16 、 DOS16 、 DOS32 模块本次没有改动,仍只支持并口软件狗。 软件狗开发套件 目前最新版本为 v3.0 支持并口硬件 RC-DL (现已更名为 PDL ) , 支持 USB 口硬件 UDA 适用语言环境: 并口型软件狗: DOS16: C , C++, FORTRAN, ASM, Pascal, BASIC ( BASCOM, Quick,True, Turbo ) , FOXPRO, Clipper, Foxbase, Dbase, EXE/COM 文件;DOS32: C, C++ ( High, NDP, Watcom ), FORTRAN ( NDP, PowerStation,Watcom) , EXP 文件; Win16: C, C++ ( Borland, Visual ), Visual BASIC, FOXPRO, PowerBuilder,Delphi Win32: C, C++ ( Visual, Borland, C++Builder, MFC ), FORTRAN ( LAHEY,PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder,Delphi,JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET 等。 Linux: C, C++, Java USB 型软件狗: Win32: C, C++ ( Visual, Borland, C++Builder, MFC), FORTRAN ( LAHEY, PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder, Delphi , JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET 等等。 Linux: C, C++, Java 适用操作系统: 并口型软件狗: DOS , Windows 3.x / 9x / ME / NT / 2000 / XP / Sever 2003 LINUX (Red hat 内核 2.2 / 2.4) USB 型软件狗: Windows 98 / ME / 2000 / XP / Sever 2003 LINUX (Red hat 内核 2.2 / 2.4) 开发商升级注意事项: 并口 RC-DL (现已更名为 PDL )型软件狗的软件软件狗开发套件 V3.0 与原 DJ/DK 完全兼容,即使用软件狗开发套件 V3.0 的驱动程序、模块及工具,可以正常操作 DJ/DK 型软件狗。所以建议使用原 DJ/DK 软件的开发商将您的驱动程序、模块及工具全部用软件狗开发套件 V3.0 (光盘版)套件升级。 如果您仍旧使用原有的 DI/DJ/DK 驱动程序、模块及工具,在 DOS 、 Windows 9X/NT/2000 下对 RC-DL 只能做读操作,写操作将失败。如果您不想改动已发行的软件,而还要使用 RC-DL 型软件狗,只升级驱动程序也可以,但您的程序必须是 WIN32 程序。如果您加密的程序是 DOS16 、 DOS32 或 WIN16 程序,您必须升级新的模块及工具,否则将无法对 RC-DL 型软件狗进行写操作。 使用方法: 1.对 EXE 文件 ( 或 COM 文件 ), 利用配套软件的 EXE 文件加密工具加密。 2 对数据库文件 (PRC 、 FOX 、 APP 、 DBF), 利用配套软件的加密工具加密。 3 对于 C 语言及其它编译型语言,配套软件提供可链接的模块文件 (OBJ 文件 ) , 模块文件提供两个函数 :(1) 写数据 ; ⑵读数据。开发商可在要加密软件的源码加入适当的调用语句,对软件狗进行读写操作,以确定对应的软件狗是否存在,从而决定程序是否继续运行。对加入软件狗函数调用的源程序编译后,链接时加上软件狗的模块文件 (OBJ) 即可。

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧