找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 568|回复: 0

[研讨] 不用管理员运行CAD,注册sqlite驱动的尝试

[复制链接]
发表于 2023-1-2 19:19:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
学习http://bbs.xdcad.net/thread-725185-1-1.htmldcl1214大神的自动注册sqlite 驱动
发现没有管理员运行CAD,vl-registry-write 不能写HKLM根键,wsh(WScript.shell) 的regwrite方法写HKLM也一样,所以自动驱动不成功。所以想找一个不用管理员运行CAD。简单的思路就是用wsh的run方法,运行regeit命令。经过测试可行。reg文件可以自己做好,也可以在软件里写好。
  1. (vl-load-com)
  2. (defun c:wsh_reg(/ fso regfnm regf regnr)

  3.     (setq fso (vlax-create-object "scripting.FileSystemObject")) ;;;;创建文件系统对象
  4.     (setq regfnm "d:\\bdwg\\sqlite\\668.reg")                    ;;;;临时的注册表文件名称
  5.     (setq regf (vlax-invoke fso 'OpenTextFile regfnm 2 t 0))     ;;;;创建临时的注册表文件对象 textstream
  6.     (setq regnr                                                  ;;;;;;注册表内容注意根键\\,字符里面的路径要\\\\这样才可以
  7.           "Windows Registry Editor Version 5.00                  
  8. [HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBC.INI\\SQLite3 Datasource]
  9. "Driver"="D:\\\\bdwg\\\\sqlite\\\\odbc\\\\sqlite64\\\\sqlite3odbc.dll"
  10. "Database"=""
  11. [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ODBC\\ODBCINST.INI\\SQLite3 ODBC Driver]
  12. "UsageCount"=dword:00000001
  13. "Driver"="D:\\\\bdwg\\\\sqlite\\\\odbc\\\\sqlite64\\\\sqlite3odbc.dll"
  14. "Setup"="D:\\\\bdwg\\\\sqlite\\\\odbc\\\\sqlite64\\\\sqlite3odbc.dll"
  15. [HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBCINST.INI\\SQLite3 ODBC Driver]
  16. "UsageCount"=dword:00000001
  17. "Driver"="D:\\\\bdwg\\\\sqlite\\\\odbc\\\\sqlite64\\\\sqlite3odbc.dll"
  18. "Setup"="D:\\\\bdwg\\\\sqlite\\\\odbc\\\\sqlite64\\\\sqlite3odbc.dll"
  19. [HKEY_LOCAL_MACHINE\\SOFTWARE\\ODBC\\ODBCINST.INI\\ODBC Drivers]
  20. "SQLite3 ODBC Driver"="Installed""
  21.     )
  22.     (vlax-invoke regf 'Write regnr)                          ;;;;;filesystem textstream 对象
  23.     (setq wsh (vlax-get-or-create-object "WScript.shell"))   ;;;;;创建脚本对象
  24.     (setq commandstr (strcat "regedit /s " regfnm))          ;;;;;即将要运行的命令字符串
  25.     (vlax-invoke wsh 'run commandstr)                        ;;;;;调用WScript.shell对象 运行方法,执行导入注册表的命令,无需管理员身份运行cad
  26.     (vlax-invoke regf 'Close)                                ;;;;;关闭临时注册表文件
  27.     (vlax-release-object regf)                               ;;;;;关闭临时注册表文件
  28.     (vlax-invoke fso 'DeleteFile regfnm)
  29.     (vlax-release-object fso)
  30.     (vlax-release-object wsh)
  31.     )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-21 21:26 , Processed in 0.283204 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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