碎玉す全瓦 发表于 2005-10-27 22:42:00

[LISP][求助]怎么对注册表操作?

请高手帮帮忙,指点一下小弟,在lsp里如何对windows的系统注册表进行操作? 如,建立、删除、修改、查询。小弟在此先谢过了。

LONGXIN 发表于 2005-10-27 23:08:00

<P class=cr_leadin id=crleadin>在 Windows <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>中创建主键</P><PRE class=prog_in_end>(vl-registry-write reg-key )</PRE>
<P class=Heading-2>参数</P>
<P class=define_head>reg-key</P>
<P class=define_text>字符串,指定 Windows <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>主键。</P>
<P class=note>注意&nbsp;不能将 vl-registry-write 用于 HKEY_USERS 或 KEY_LOCAL_MACHINE。</P>
<P class=define_head>val-name</P>
<P class=define_text>字符串,包含<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>条目的值。</P>
<P class=define_head>val-data</P>
<P class=define_text>字符串,包含<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>数据。</P>
<P class=body>如果未指定 val-name 或其值为 nil,则写入该主键的缺省值。如果指定了 val-name 且未指定 val-data,则存储空字符串。</P>
<P class=Heading-2>返回值</P>
<P class=body>如果成功则 vl-registry-write 返回 val-data,否则返回 nil。</P>
<P class=Heading-2>示例</P><PRE class=prog_in>_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")</PRE><PRE class=prog_in>"test data"</PRE><PRE class=prog_in>_$(vl-registry-read "HKEY_CURRENT_USER\\Test")</PRE><PRE class=prog_in_end>"test data"</PRE>

LONGXIN 发表于 2005-10-27 23:09:00

<P class=cr_leadin id=crleadin>对于指定的主键/值对,返回 Winodws <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>存储的数据</P><PRE class=prog_in_end>(vl-registry-read reg-key )</PRE>
<P class=Heading-2>参数</P>
<P class=define_head>reg-key</P>
<P class=define_text>字符串,指定 Windows <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>主键。</P>
<P class=define_head>val-name</P>
<P class=define_text>字符串,包含<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>条目的值。</P>
<P class=body>如果指定 val-name 且其值不为 nil,则将从<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>读取指定的值。如果未指定 val-name 或其值为 nil,函数将读取指定的主键及其所有值。</P>
<P class=Heading-2>返回值</P>
<P class=body>如果成功则返回包含<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>数据的字符串,否则返回 nil。</P>
<P class=Heading-2>示例</P><PRE class=prog_in>_$(vl-registry-read "HKEY_CURRENT_USER\\Test")</PRE><PRE class=prog_in>nil</PRE><PRE class=prog_in>_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")</PRE><PRE class=prog_in>"test data"</PRE><PRE class=prog_in>_$(vl-registry-read "HKEY_CURRENT_USER\\Test")</PRE><PRE class=prog_in_end>"test data"</PRE>

LONGXIN 发表于 2005-10-27 23:09:00

<P class=cr_leadin id=crleadin>从 Winows <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>中删除指定的主键或值</P><PRE class=prog_in_end>(vl-registry-delete reg-key )</PRE>
<P class=Heading-2>参数</P>
<P class=define_head>reg-key</P>
<P class=define_text>字符串,指定 Windows <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>主键。</P>
<P class=define_head>val-name</P>
<P class=define_text>字符串,包含 reg-key 条目的值。</P>
<P class=body>如果给出了 val-name 且其值不为 nil,则将从<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>清除指定值。如果没有 val-name 或该值为 nil,函数将删除指定主键及其所有的值。</P>
<P class=Heading-2>返回值</P>
<P class=body>如果成功则返回 T,否则返回 nil。</P>
<P class=Heading-2>示例</P><PRE class=prog_in>_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")</PRE><PRE class=prog_in>"test data"</PRE><PRE class=prog_in>_$ (vl-registry-read "HKEY_CURRENT_USER\\Test")</PRE><PRE class=prog_in>"test data"</PRE><PRE class=prog_in>_$ (vl-registry-delete "HKEY_CURRENT_USER\\Test")</PRE><PRE class=prog_in_end>T</PRE>
<P class=note>注意&nbsp;该函数不能删除包含子树的主键。要删除子树,必须使用 vl-registry-descendents 枚举并删除所有的子键。</P>

LONGXIN 发表于 2005-10-27 23:10:00

<P class=cr_leadin id=crleadin>返回 AutoCAD 的 Window <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>路径</P><PRE class=prog_in_end>(vlax-product-key)</PRE>
<P class=body>AutoCAD <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>路径可以用于注册应用程序,以用于按需加载。</P>
<P class=Heading-2>返回值</P>
<P class=body>包含AutoCAD <FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>路径的字符串。</P>
<P class=Heading-2>示例</P><PRE class=prog_in>_$ (vlax-product-key)</PRE><PRE class=prog_in_end>"Software\\Autodesk\\AutoCAD\\R15.0\\ACAD-1:409"</PRE>

LONGXIN 发表于 2005-10-27 23:10:00

<P class=cr_leadin id=crleadin>返回指定<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>键的子键或值名称的列表</P><PRE class=prog_in_end>(vl-registry-descendents reg-key )</PRE>
<P class=Heading-2>参数</P>
<P class=define_head>reg-key</P>
<P class=define_text>字符串,指定 Windows 主键。</P>
<P class=define_head>val-names</P>
<P class=define_text>字符串,包含 reg-key 条目的值。</P>
<P class=body>如果指定 val-names 且其值不为 nil,则将列出<FONT style="BACKGROUND-COLOR: #316ac5" color=#ffffff>注册表</FONT>中的指定值名。如果未指定 val-name 或其值为 nil,则函数显示 reg-key 的所有子键。</P>
<P class=Heading-2>返回值</P>
<P class=body>如果成功则返回字符串表,否则返回 nil。</P>
<P class=Heading-2>示例</P><PRE class=prog_in>_$ (vl-registry-descendents "HKEY_LOCAL_MACHINE\\SOFTWARE")</PRE><PRE class=prog_in_end>("Description""Program Groups" "ORACLE" "ODBC" "Netscape" "Microsoft")</PRE>
<P class=see_also>参阅</P>

碎玉す全瓦 发表于 2005-10-28 16:29:00

非常详细,真的太感谢了。

lxy_2080 发表于 2016-5-2 13:02:12

非常详细,真的太感谢了。

土木燃 发表于 2018-7-4 18:56:11

非常详细,真的太感谢了。!!!!!!!!!!!!!!!!!!!!!
页: [1]
查看完整版本: [LISP][求助]怎么对注册表操作?