[求助]求注册表二进制的写入方法
本帖最后由 yxp 于 2013-5-20 02:43 编辑按照高飞大侠的指点,用 ws 对象可以读出二进制,返回一个10进制的表。
(vlax-invoke wsh 'RegRead RegPath)
但是当使用 'RegWrite 参数时,却无法写入二进制格式,该值会自动变为字符型。
(vlax-invoke wsh 'RegWrite RegPath Value)
是不是还需要其他参数? 本帖最后由 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程序改变该值.....竟不得法 regedit /s 无需确认. 路径有空格用"注册表文件路径" 本帖最后由 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 04:51 static/image/common/back.gif
在高手如云的明经,虽然得不到解决,但也要自我总结一下。
用 Lisp 函数 (startapp "regedit" regfile)...
http://bbs.mjtd.com/thread-101573-1-1.html
在上面的帖子中,我已经提出了解决办法,看看能否成功? 本帖最后由 moshouhot 于 2024-6-30 18:15 编辑
mark一下 看看
页:
[1]