明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2872|回复: 5

[已解答] [求助]求注册表二进制的写入方法

[复制链接]
发表于 2013-5-20 02:37:27 | 显示全部楼层 |阅读模式
本帖最后由 yxp 于 2013-5-20 02:43 编辑

按照高飞大侠的指点,用 ws 对象可以读出二进制,返回一个10进制的表。
(vlax-invoke wsh 'RegRead RegPath)
但是当使用 'RegWrite 参数时,却无法写入二进制格式,该值会自动变为字符型。
(vlax-invoke wsh 'RegWrite RegPath Value)
是不是还需要其他参数?
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2013-5-22 04:51:56 | 显示全部楼层
本帖最后由 yxp 于 2013-5-22 04:59 编辑

在高手如云的明经,虽然得不到解决,但也要自我总结一下。

用 Lisp 函数 (startapp "regedit" regfile) ,不认文件路径里的空格,没法处理弹出窗口的确定键。

用 VL 函数 (vl-registry-read RegPath) 只能读出 '(3) ,写入就别提了,比 Lisp 进步了些。

用 ET 函数 (acet-reg-get path key) 能读出 "REG_BINARY" 字符,键值读不出来,
          (acet-reg-put path key value) 可以写入 dword ,对 binary 仍然没法,比 VL 好点。

用 WS 对象(vlax-invoke wsh 'RegRead RegPath) ,可以读出二进制binary ,返回结果为表。
       但用 'RedWrite 方法不能写入二进制,这已经是最好的结果了。

即使强大的 DosLib 也没有提供 BINARY 写入的函数,看来真的可以放弃了。


补充一下,有一个10年前的软件,只能使用数次,用的是注册表二进制加密,想用lisp程序改变该值.....竟不得法
发表于 2013-5-22 07:23:03 | 显示全部楼层
regedit /s 无需确认.   路径有空格用"注册表文件路径"

点评

yxp
明白了,感谢!  发表于 2013-5-22 16:14
发表于 2013-5-22 07:35:30 | 显示全部楼层
本帖最后由 namezg 于 2013-5-22 22:08 编辑

(vlax-invoke wsh 'RegWrite RegPath Value "键值类型"
注:regWrite方法的键值类型常用的有:REG_BINARY(新建或写入二进制值)、REG_DWORD(新建或写入DWORD值)、REG_SZ(新建或写入字符
串值)、REG_EXPAND_SZ(新建或写入可扩展的字符串)。

点评

yxp
非常感谢  发表于 2013-5-22 15:12

评分

参与人数 1明经币 +1 金钱 +10 收起 理由
yxp + 1 + 10 很给力!

查看全部评分

发表于 2013-5-23 00:08:10 | 显示全部楼层
yxp 发表于 2013-5-22 04:51
在高手如云的明经,虽然得不到解决,但也要自我总结一下。

用 Lisp 函数 (startapp "regedit" regfile)  ...

http://bbs.mjtd.com/thread-101573-1-1.html
在上面的帖子中,我已经提出了解决办法,看看能否成功?
发表于 2024-6-30 17:30:43 | 显示全部楼层
本帖最后由 moshouhot 于 2024-6-30 18:15 编辑

mark一下 看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-27 12:35 , Processed in 0.191852 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表