




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 32 位 Delphi 程序中可利用 TRegistry 对象来存取注册表文件中的信息 一 创建和释放 TRegistry 对象 1 创建 TRegistry 对象 为了操作注册表 要创建一个 TRegistry 对象 ARegistry TRegistry Create 2 释放 TRegistry 对象 对注册表操作结束后 应释放 TRegistry 对象所占内存 ARegistry Destroy 二 指定要操作的键 操作注册表时 首先应指定操作的主键 先给属性 RootKey 赋值以指定根键 然后用 方法 OpenKey 来指定要操作的主键名 1 指定根键 RootKey 根键是注册表的入口 也注册表信息的分类 其值可为 HKEY CLASSES ROOT 存储整个系统对象类信息 如 ActiveX 对象注册 文件关联等 信息 HKEY CURRENT USER 存储当前用户的配置信息 为属性 RootKey 的默认值 HKEY LOCAL MACHINE 存储当前系统的软硬件配置信息 应用程序自己的信息可以 存储在该根键下 HKEY USERS 存储所有用户通用的配置信息 还可以是 HKEY CURRENT CONFIG HKEY DYN DATA 2 指定要操作的主键 Function OpenKey const Key string CanCreate Boolean Boolean Key 主键名 是键名全名中除去根键的部分 如 Software Borland Delphi CanCreate 在指定的主键名不存在时 是否允许创建该主键 True 表示允许 返回值 True 表示操作成功 3 关闭当前主键 在读取或存储信息之后 应及时将关闭当前主键 procedure CloseKey 三 从注册表中读取信息 Read 系列方法从注册表读取指定的信息 字符串 二进制和十六进制 并转换为指 定的类型 1 Read 系列方法 function ReadString const Name string string 读取一个字符串值 Name 为字符串名称 function ReadInteger const Name string Integer 读取一个整数值 Name 为整数名称 function ReadBinaryData const Name string var Buffer BufSize 精品文档 2欢迎下载 Integer Integer 读取二进制值 Name 为二进制值名称 Buffer 为接收缓冲区 BufSize 为缓冲区大小 返回为实际读取的字节数 其它方法还有 ReadBool ReadCurrency ReadDate ReadDateTime ReadFloat ReadTime 2 读取信息一例 显示 Windows 的版本 在 HKEY LOCAL MACHINE Software Microsoft Windows CurrentVersion 下 有三个 字符串值 Version VersionNumber 和 SubVersionNumber 用于记录当前 Windows 的版本 号 请在 Uses 中包含 Registry 单元 procedure TForm1 Button1Click Sender TObject var ARegistry TRegistry begin ARegistry TRegistry Create 建立一个 TRegistry 实例 with ARegistry do begin RootKey HKEY LOCAL MACHINE 指定根键为 HKEY LOCAL MACHINE 打开主键 Software Microsoft Windows CurrentVersion if OpenKey Software Microsoft Windows CurrentVersion false then begin memo1 lines add Windows 版本 ReadString Version memo1 lines add Windows 版本号 ReadString VersionNumber memo1 lines add Windows 子版本号 ReadString SubVersionNumber end CloseKey 关闭主键 Destroy 释放内存 end end 四 向注册表中写入信息 Write 系列方法将信息转化为指定的类型 并写入注册表 1 Write 系列方法 procedure WriteString const Name Value string 写入一个字符串值 Name 为字符串的名称 Value 为字符串值 procedure WriteInteger const Name string Value Integer 写入一个整数值 procedure WriteBinaryData const Name string var Buffer BufSize Integer 精品文档 3欢迎下载 写入二进制值 Name 为二进制值的名称 Buffer 为包含二进制值的缓冲区 BufSize 为缓冲区大小 其它方法还有 WriteBool WriteCurrency WriteDate WriteDateTime WriteFloat WriteTime 2 写入信息一例 下面程序使 Delphi 随 Windows 启动而自动运行 var ARegistry TRegistry begin ARegistry TRegistry Create 建立一个 TRegistry 实例 with ARegistry do begin RootKey HKEY LOCAL MACHINE if OpenKey Software Microsoft Windows CurrentVersion Run True then WriteString delphi C Program Files borland delphi3 bin delphi32 exe CloseKey Destroy end end 五 键值维护 除了在注册表中读取 存储外 程序可能还需要增加主键 删除主键 主键改名 数 据值改名等 1 创建新主键 function CreateKey const Key string Boolean Key 即为主键名 返回值 True 表示操作成功 2 删除主键 function DeleteKey const Key string Boolean Key 即为主键名 返回值 True 表示操作成功 3 复制或移动主键 procedure MoveKey const OldName NewName string Delete Boolean OldName NewName 分别表示源主键名和目标主键名 Delete 表示是否删除源主键 True 表示删除 False 表示保留 复制或移动一个主键将复制或移动该子键下的所有数据值和子键内容 4 判断指定主键是否存在 其下是否有主键 并获取主键名称 KeyExists 用于判断指定主键是否存在 function KeyExists const Key string Boolean 返回值为 True 表示主键存在 精品文档 4欢迎下载 HasSubKeys 用于判断指定主键下是否有子键 function HasSubKeys Boolean 返回值为 True 表示主键下有子键 GetKeyNames 用于获取子键名称 procedure GetKeyNames Strings TStrings Strings 用于返回当前主键下各子键的名称 5 获取主键下的数据值名称 procedure GetValueNames Strings TStrings Strings 用于返回当前主键下各数值名称 如要获取当前系统中的拨号连接名称 可利用获取主键 HKEY USERS DEFAULT RemoteAccess Addresses 下的数值名称的方法来进行 6 判断数值名称存在 数值名称改名 ValueExists 用于判断数值名称是否存在 function ValueExists const Name string Boolean 返回值为 True 表示数值名称存在 RenameValue 用于数值名称改名 procedure RenameValue const OldName NewName string 以上是注册表常用操作所对应的 TRegistry 的方法和属性 其它方法和属性请参见 Delphi 联机帮助文件 以上程序在 PWIN 98 Delphi 3 0 下调试通过 2003 11 20 11 53 00 发表评语 2003 11 20 11 59 20 注册表中对编程常用的几项 ODBC BDE Internet Windows 我用的是 WINDOWS 2000 WIN2000 的 REGEDIT 提供了类似 IE 中收藏夹的功能 我的收 藏夹中有几个或许对大家编程时会有帮助 这是本人在编程过程中的探索出来的 请高手 指教 1 关于 ODBC 和 DBE HKEY LOCAL MACHINE SOFTWARE ODBC ODBC INI ODBC File DSN 有你的 COMPUTER 上 ODBC 的 FILE DSN 的存放的缺省路径 如果你建立 FILE DSN 的时候选择了自己的路径 那你就得小心了 系统不会为你保存该路径 你的自己记住它 HKEY LOCAL MACHINE SOFTWARE ODBC ODBCINST INI ODBC Drivers 列出了你的所有 ODBC DRIVER 关于 ODBC DRIVER 的名称 有一个比较有趣的地方 不知大家又没有用 TSession GetDriverNames 取过系统 ODBC DRIVER 名 我用的时候 DRIVER 名最长只能取 到 31 个字符 剩下的就被截掉了 不知是我编程有问题还是 DELPHI 的 BUG HKEY LOCAL MACHINE SOFTWARE ODBC ODBCINST INI 精品文档 5欢迎下载 列出了你的所有 ODBC DRIVER 的详细配置 HKEY LOCAL MACHINE SOFTWARE ODBC ODBC INI 列出了你的所有 SYSTEM DSN 以及它们的配置情况 HKEY CURRENT USER Software ODBC ODBC INI 列出了你的所有 USER DSN 以及它们的配置情况 知道了以上的几个主键后 你就可以在程序中实现 SystemRoot system32 odbcad32 exe 的大部分功能了 HKEY LOCAL MACHINE SOFTWARE Borland Database Engine 下面是你的 DBE 的配置 我就不多说了 大家拿它和 BDE 用户界面一比较就明白了 2 关于 INTERNET 编程 HKEY CLASSES ROOT htmlfile 系统对 HTMLFILE 的处理定义 HKEY LOCAL MACHINE SOFTWARE Clients INTERNET Option 中 INTERNET PROGRAM 的设定 尤其重要的是其中的 HKEY LOCAL MACHINE SOFTWARE Clients Mail 3 关于 WINDOWS 编程 HKEY CURRENT USER Software Microsoft Windows CurrentVersion Run 每次该用户启动 WINDOWS 必定执行下面的命令 如果有 当然一般都有 HKEY CURRENT USER Software Microsoft Windows CurrentVersion Runonce 该用户启动 WINDOWS 必定执行下面的命令 如果有 执行完后由 WINDOWS 把命令删 掉 安装软件的时候特别有用 以上两处是针对特定用户的 在 HKEY LOCAL MACHINE SOFTWARE Microsoft Windows CurrentVersion 下还有类似的地方 是针对所有用户的 我就不罗嗦了 2003 11 20 12 16 38 Delphi 中注册表构件 TRegistry 的应用 在 Delphi3 0 及以 上版本中 提供了一个构件 TRegistry 在程序中可以利用它来实现对 WIN95 98 NT 注册 表的操作 可以很方便地在注册表中增加 修改和删除键值 这样可以在程序中完成一些 特殊的功能 精品文档 6欢迎下载 TRegistry 常用的属性和方法有 具体作用和用法请参考 Delphi 帮 助 RootKey CreateKey OpenKey CloseKey DeleteKey ReadXXXX WriteXXXX XXXX 表示数据类型如 String Integer 等 我们用到的属性和方法有 RootKey 注册表的根键名 如 HKEY LOCAL MACHINE 等 OpenKey KeyName string CanCreate boolean 使当前键为 KeyName CanCreate 表示当指定的键不存在时是否创建 True 表示创建 SetKey KeyName KeyValue string 使键 KeyName 的值为 KeyValue 应用之一 让自己的程序随 WIN95 98 NT 的启动而运行 当然 你可以在 启动 程序组中加入程序的快捷方式 但这样做好象不大明智 因 为大多数程序在安装时不会这样做 而是在通过在注册表增加键值 让 WIN95 98 NT 在启 动时运行自己的程序 如果打开注册表 找到 HKEY LOCAL MACHINE Software Microsoft Windows CurrentVersion Run 就会发现这个秘密了 原来许多自动运行的 程序都在这里 你也可以在这里增加一个键 让你的程序也随着 WIN95 98 NT 的启动而自 己运行 成为 WINDOWS 下的 TSR 程序 实现方法如下 首先 在 Uses 中加上 Registry 单元 然后 写下面代码 将程序 strExeFileName 置为自动启动 function StartUpMyProgram strPrompt strExeFileName string boolean var registerTemp TRegistry begin registerTemp TRegistry Create 建立一个 Registry 实例 with registerTemp do begin RootKey HKEY LOCAL MACHINE 设置根键值为 HKEY LOCAL MACHINE 找到 Software Microsoft Windows CurrentVersion Run if OpenKey Software Microsoft Windows CurrentVersion Run True then 写入自己程序的快捷方式信息 begin WriteString strPrompt strExeFileName result true end else result false 精品文档 7欢迎下载 善后处理 CloseKey Free end end 调用 StartUpMyProgram 使 Delphi 随 WINDOWS 启动而自动运行 procedure TForm1 Button1Click Sender TObject begin memo1 lines add 开始 if StartUpMyProgram delphi C Program Files borland delphi3 bin delphi32 exe then memo1 lines add 成功 else memo1 lines add 失败 end 应用之二 实现文件关联 当 MS WORD 安装在你的系统中时 它会把 DOC 文件与自己关联 当你双击一个 DOC 文件 就会启动 MS WORD 打开你指定的 DOC 文件 你也可以把一个文件类型与一个程序 关联起来 其秘密还是在注册表中 如果打开注册表 找到 HKEY CLASSES ROOT 就会发 现这里已经有很多文件类型 你也可以在这里增加一个键 建立自己的文件关联 建立文件关联 一般应有两个步骤 根据文件类型的扩展名 指定对应的键名 如 doc 文件对应的键为 doc auto file 该键及其子键的值 将定义该类型的文件的类型说明和操作 如打开 编辑 说明 在指定的键名下 建立子键 指明文件类型说明和操作对应的程序信息 例如 我们可以为 DBF 文件建立文件关联 其文件类型说明为 xBase 数据表 使 其打开 Open 文件的操作对应程序 C ProgramFiles Borland DBD DBD32 EXE 首先 应在注册表的根键 HKEY CLASSES ROOT 下建立一个键 键名为 DBF 默认值为 DBF Auto File 表示 DBF 类型文件的关联操作信息记录在键 HKEY CLASSES ROOT DBF Auto File 下 然后 建立键 HKEY CLASSES ROOT DBF Auto File 并设其默认值为 xBase 数据表 表示文件类型说 明 再建立键 HKEY CLASSES ROOT DBF Auto File Shell open command 设置其默认值为 C Program Files Borland DBD DBD32 EXE 1 其中 1 为命令行参数 表示打开 操作对应的程序信息 具体实现如下 同样 在 Uses 中加上 Registry 单元 然后 写下面代码 精品文档 8欢迎下载 将文件类型 strFileExtension 与程序 strExeFileName 相关联 strDiscription 为文件类型说明 function AssignToProgram strFileExtension strDiscription strExeFileName string boolean var registerTemp TRegistry begin registerTemp TRegistry Create 建立一个 Registry 实例 with registerTemp do begin RootKey HKEY CLASSES ROOT 设置根键值为 HKEY CLASSES ROOT 根据文件类型的扩展名 创建或打开对应的键名 FileExt 如 DBF 对应 DBF if OpenKey strFileExtension true then begin result false exit end 设置键 FileExt 默认值为 FileExt Auto File 如 DBF 对应 DBF Auto File WriteString strFileExtension Auto File CloseKey 写入自己程序的信息 根据文件类型的扩展名 创建或打开对应的键名 FileExt Auto File DBF 对应 DBF Auto File if OpenKey strFileExtension Auto File true then begin result false exit end 设置默认值文件类型说明 如 DBF 可对应 xBase 数据表 WriteString strDiscription CloseKey 创建或打开键名 FileExt Auto File Shell open command 该键为表示操作为 打 开 DBF 对应 DBF Auto File shell open command if OpenKey strFileExtension Auto File shell open command true then begin result false exit end 设置该键的默认值为打开操作对应的程序信息 精品文档 9欢迎下载 如 DBF 可对应 C Program Files Borland DBD DBD32 EXE WriteString strExeFileName 1 CloseKey Free end end 调用 AssignToProgram 使 DBF 文件与 DBD32 EXE 关联 procedure TForm1 Button3Click Sender TObject begin memo1 lines add 开始 if AssignToProgram DBF xBase 数据表 C Program Files borland dbd dbd32 exe then memo1 lines add 成功 else memo1 lines add 失败 end 应用之三 检测 Win95 98 NT 系统中是否安装了 Borland Database Engine 当你的应用程序是一个基于 BDE 的数据库应用程序时 如果运行在一个没有安装 BDE 的 Win95 98 NT 中 会出现让用户迷惑不解的错误 你可能需要在程序正常运行之前 检 查系统中是否安装了 BDE 由于 BDE 安装后会在注册表进行注册 你可以通过查询注册表 来确定系统中是否安装了 BDE 然后决定下一步采取什么行动 BDE 在注册表中的位置为 HKEY LOCAL MACHINE Software Borland Database Engine 该键存在说明 BDE 已经 安装 具体的例子如下 同样 在 Uses 中加上 Registry 单元 然后 写下面代码 检测系统中是否安装了 BDE function IsBDEInstalled boolean var registerTemp TRegistry begin registerTemp TRegistry Create 建立一个 Registry 实例 with registerTemp do begin RootKey HKEY LOCAL MACHINE 设置根键值为 HKEY LOCAL MACHINE 精品文档 10欢迎下载 查询 Software Borland Database Engine result OpenKey Software Borland Database Engine false 善后处理 CloseKey Free end end 调用 IsBDEInstalled 检测系统中是否安装了 BDE procedure TForm1 Button4Click Sender TObject begin memo1 lines add 开始 if IsBDEInstalled then memo1 lines add 已安装了 BDE else memo1 lines add 未安装 BDE end 应用之四 在桌面建立程序的快捷方式 当你的 WIN95 98 NT 桌面上整齐地排列着各种程序的快捷方式时 也许你会体会到快 捷方式的方便 你也可将自己设计的程序的快捷方式放在别人的桌面上 桌面上的一个快捷方式 对应 Windows 目录下 Destop 子目录中的一个 ShellLink 文 件 LNK 你只要在这个目录下增加一个 LNK 文件就可以了 我们的任务 主要是利用 TRegistry 从注册表中获取 Desktop 的实际路径 默认为 Windows 目录下的 Desktop 子目录 如 C PWIN98 Desktop 在注册表中 Desktop 的实际 路径对应的键为 HKEY CURRENT USER Software MicroSoft Windows CurrentVersion Explorer Shell Folders Desktop 同样 在 Uses 中加上 Registry 单元 然后 写下面代码 为程序 strExeFileName 在桌面建立快捷方式 运行参数为 strParameters function CreateShortcutOnDesktop strExeFileName strParameters string boolean var registerTemp TRegistry strDesktopDirectory widestring shelllinkTemp IShellLink persistfileTemp IPersistFile begin registerTemp TRegistry Create 建立一个 Registry 实例 精品文档 11欢迎下载 with registerTemp do begin RootKey HKEY CURRENT USER 设置根键值为 HKEY CURRENT USER 找到 Software MicroSoft Windows CurrentVersion Explorer Shell Folders if not OpenKey Software MicroSoft Windows CurrentVersion Explorer Shell Folders True then 写入自己程序的信息 begin result false exit end 读取项目 Desktop 的值 即 Desktop 的实际路径 strDesktopDirectory ReadString Desktop 善后处理 CloseKey Free end 设置快捷方式的参数 shelllinkTemp IShellLink CreateComObject CLSID ShellLink with shelllinkTemp do begin SetPath PChar strExeFileName 设置程序文件全名 SetArguments PChar strParameters 设置程序的命令行参数 设置程序的工作目录 SetWorkingDirectory Pchar ExtractFilePath strExeFileName end 构造快捷方式的文件名 LNK strDesktopDirectory strDesktopDirectory ExtractFileName strExeFileName strDesktopDirectory copy strDesktopDirectory 1 length strDesktopDirectory length ExtractFileExt strExeFileName LNK 保存快捷方式的文件 persistfileTemp shelllinkTemp as IPersistFile if S OK persistfileTemp Save PWChar strDesktopDirectory false then result true 保存成功 返回 True else result false end 精品文档 12欢迎下载 调用 CreateShortcutOnDesktop 为 Delphi 在桌面上建立快捷方式 procedure TForm1 Button2Click Sender TObject begin memo1 lines add 开始 if CreateShortcutOnDesktop C Program Files borland delphi3 bin delphi32 exe 1 then memo1 lines add 成功 else memo1 lines add 失败 end 结语 上面几个应用只是 TRegistry 一些简单的应用 有了这些知识 你就可以根据 自己的需要来定制和改善 Winodws 系统了 以上程序在 PWin98 Delphi3 0 下调试和通过 2003 11 20 12 21 25 备份部分注册表的代码 Procedure ExportRegistryBranch rootsection Integer regroot String filename String implementation Function dblBackSlash t string string var k longint begin result t Strings are not allowed to have for k length t downto 1 do single backslashes if result k then insert result k end Procedure ExportRegistryBranch rootsection Integer regroot String filename String var reg tregistry f textfile p PCHAR Procedure ProcessBranch root string recursive sub procedure var values keys tstringlist i j k longint s t string longstrings are on the heap 精品文档 13欢迎下载 not on the stack begin writeln f write blank line case rootsection of HKEY CLASSES ROOT s HKEY CLASSES ROOT HKEY CURRENT USER s HKEY CURRENT USER HKEY LOCAL MACHINE s HKEY LOCAL MACHINE HKEY USERS s HKEY USERS HKEY PERFORMANCE DATA s HKEY PERFORMANCE DATA HKEY CURRENT CONFIG s HKEY CURRENT CONFIG HKEY DYN DATA s HKEY DYN DATA end Writeln f s root write section name in brackets reg OpenKey root false values tstringlist create keys tstringlist create reg getvaluenames values get all value names reg getkeynames keys get all sub branches for i 0 to values count 1 do write all the values first begin s values i t s s value name if s then s empty means default value write as else s s else put in quotes write f dblbackslash s write the name of the key to the file Case reg Getdatatype t of What type of data is it rdString rdExpandString String type Writeln f dblbackslash reg readstring t rdInteger 32 bit unsigned long integer Writeln f dword inttohex reg readinteger t 8 write an array of hex bytes if data is binary Perform a line feed after approx 25 numbers so the line length stays within limits rdBinary begin write f hex j reg getdatasize t determine size getmem p j Allocate memory 精品文档 14欢迎下载 reg ReadBinaryData t p J read in the data treat as pchar for k 0 to j 1 do begin Write f inttohex byte p k 2 Write byte as hex if kj 1 then not yet last byte begin write f then write Comma if k 0 and k mod 25 0 then line too long writeln f then write Backslash lf end if end for freemem p j free the memory writeln f Linefeed end ELSE writeln f write an empty string if datatype illegal unknown end case end for reg closekey value names all done no longer needed values free Now al values are written we process all subkeys Perform this process RECURSIVELY for i 0 to keys count 1 do ProcessBranch root keys i keys free this branch is ready end begin if regroot length regroot then No trailing backslash setlength regroot length regroot 1 Assignfile f filename create a text file rewrite f IF ioresult0 then EXIT Writeln f REGEDIT4 magic key for regedit reg tregistry create try reg rootkey rootsection ProcessBranch regroot Call the function that writes the branch and all subbranches 精品文档 15欢迎下载 finally reg free ready close f end end end 2003 11 20 12 22 54 读写网络上其他计算机注册表的代码 procedure NetReg var R TRegistry S TStringList begin R TRegistry Create S TStringList Create WriteLn R RegistryConnect OtherPC WriteLn R OpenKeyReadOnly Software R GetKeyNames S WriteLn S CommaText S Free R Free end 2003 11 20 12 27 06 关于查看注册表的程序 unit regform interface uses Windows Messages SysUtils Classes Graphics Controls Forms Dialogs StdCtrls Registry type TForm1 class TForm ListSub TListBox ListValues TListBox ComboKey TComboBox Label1 TLabel Label2 TLabel Label3 TLabel Label4 TLabel ComboLast TComboBox procedure FormCreate Sender TObject procedure FormDestroy Sender TObject procedure ListSubClick Sender TObject procedure ComboKeyChange Sender TObject 精品文档 16欢迎下载 procedure ComboLastChange Sender TObject private Reg TRegistry public procedure UpdateAll end var Form1 TForm1 implementation R DFM procedure TForm1 FormCreate Sender TObject begin Reg TRegistry Create Reg OpenKey False UpdateAll select the current root 选择当前的根目录 ComboKey ItemIndex 1 ComboLast Items Add ComboLast ItemIndex 0 end 更新 procedure TForm1 UpdateAll begin Caption Reg CurrentPath if Caption then Caption Root if Reg HasSubKeys then Reg GetKeyNames ListSub Items else ListSub Clear Reg GetValueNames ListValues Items end procedure TForm1 FormDestroy Sender TObject begin Reg CloseKey Reg Free end procedure TForm1 ListSubClick Sender TObject var 精品文档 17欢迎下载 NewKey Path string nItem Integer begin get the selection 获取选择项 NewKey ListSub Items ListSub ItemIndex Reg OpenKey NewKey False save the current path eventually adding a 在不列出于列表时保存路径 only if the it is not already listed Path Reg CurrentPath if Path then Path Path nItem ComboLast Items IndexOf Path if nItem D and i 1 then break if i1 then memo1 Lines Add buffer end case getkeyboardtype 0 of 获取键盘类型 1 buffer 键盘 IBM PC XT 或兼容类型 83 键 2 buffer 键盘 Olivetti ICO 102 键 3 buffer 键盘 IBM PC AT 84 键 4 buffer 键盘 IBM 增强型 101 或 102 键 5 buffer 键盘 Nokia 1050 6 buffer 键盘 Nokia 9140 7 buffer 键盘 Japanese end memo1 lines add buffer 获取键盘功能键数目 memo1 lines add 功能键数目 inttostr getkeyboardtype 2 memo1 Lines add 显示器分辨率 inttostr getsystemmetrics SM CXSCREEN x inttostr getsystemmetrics SM CYSCREEN 获取鼠标按键数目 memo1 Lines add 鼠标 inttostr getsystemmetrics SM CMOUSEBUTTONS 键 globalmemorystatus meminfo 获取系统内存数量 memo1 lines add 物理内存 inttostr meminfo dwTotalPhys div 1024 KB i getsystemmetrics SM CLEANBOOT case i of 0 buffer 系统启动模式 正常模式 1 buffer 系统启动模式 保护模式 2 buffer 系统启动模式 网络保护模式 end memo1 lines add buffer x getsystemmetrics SM ARRANGE 获取系统最小化窗口的起始位置和排列方式 y x x x and 3 y y and 12 case x of ARW BOTTOMLEFT buffer 最小化窗口 自左下角 ARW BOTTOMRIGHT buffer 最小化窗口 自右下角 精品文档 22欢迎下载 ARW TOPLEFT buffer 最小化窗口 自左上角 ARW TOPRIGHT buffer 最小化窗口 自右上角 end case y of ARW LEFT buffer buffer 横向排列 ARW UP buffer buffer 纵向排列 ARW HIDE buffer buffer 隐藏 end memo1 lines add buffer getmem computername 255 获取计算机名称和用户名 getmem username 255 i 255 getcomputername computername i memo1 lines add 计算机名称 computername getusername username i memo1 lines add 用户名 username freemem computername freemem username getsysteminfo cpuinfo 获取 CPU 类型 case cpuinfo dwProcessorType of 386 buffer CPU 类型 386 486 buffer CPU 类型 486 586 buffer CPU 类型 Pentium end memo1 Lines add buffer 从注册表中获取 CPU 标识 Windows 版本 产品标识 注册单位名称及用户名 myreg Tregistry Create myreg RootKey HKEY LOCAL MACHINE if myreg OpenKey hardware description system centralprocessor 0 fals
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版数学一年级上学期第6单元测试卷
- 中学生学习心理压力缓解课件
- 浙江省2025年小升初数学专项复习9-圆(含答案)
- 广告设计师作品评价试题及答案
- 产科基础知识试题及答案
- 2024年助理广告师考试突破技巧试题及答案
- 松下集团招聘试题及答案
- 叉车考试题库分析及答案
- 本溪工勤考试题库及答案
- 安安规考试题库及答案
- 决策树在饲料技术推广中的应用研究
- 空管自动化系统的基本组成与功能课件
- 安宁疗护之舒适护理
- 2023年杭州市规划局拱墅规划分局编外人员招考考前自测高频难、易考点模拟试题(共500题)含答案详解
- 品牌国际化对企业出口竞争力和品牌价值的影响研究
- 大模型的因果推理与可解释性
- 《圆柱与圆锥》单元整体教学设计展示
- journal of affective disorders投稿格式要求
- 大白菜收获机的设计
- 卒中后抑郁(PSD)在中国的发病情况及临床管理分析-修改
- 260吨汽车吊地基承载力验算
评论
0/150
提交评论