乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 44|回复: 2

为当前用户快速恢复 AutoCAD

[复制链接]

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2016-7-6 10:56:20 | 显示全部楼层 |阅读模式
如果程序在当前用户配置文件中首次启动,则Windows会安装此程序的缺失组件。
有时AutoCAD 2009会破坏自己的菜单文件和一些设置。在这种情况下,我通过删除HKCU中的注册表项(HKEY_CURRENT_USER\Software\欧特克\AutoCAD\R
.
\

)及其当前用户配置文件中的文件夹(RoamableRootFolder, LocalRootFolder)以编程方式恢复应用程序状态。现在我要安装必要的组件(它们在HKCU和文件夹中重新创建注册表项)。为此,我以编程方式启动应用程序。但是我想在应用程序启动期间完成安装必要的组件时杀死该过程(因为AutoCAD启动需要很多时间)。
如果我杀死acad.exe进程,那么安装的组件也会被杀死。我不需要这样的行为。
是否可以定义(以编程方式,我使用C#)这些组件的安装完成的时刻?或者可能可以定义AutoCAD的某些组件仍未安装在当前用户配置文件上,然后强制启动这些组件安装而无需“acad.exe”启动(我不知道如何做到)。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

0

主题

12

帖子

6

银币

初来乍到

Rank: 1

铜币
13
发表于 2016-7-6 23:14:54 | 显示全部楼层
不确定这可以作为插件完成,因为可能不会引发所需的事件,但是您可以通过WMI监视注册表,并在事后采取补充步骤:
https://code.msdn.microsoft.com/windowsapps/CSMonitorRegistryChange-d297cdf0
干杯
回复

使用道具 举报

0

主题

11

帖子

7

银币

初来乍到

Rank: 1

铜币
12
发表于 2016-7-7 05:56:43 | 显示全部楼层
我解决了我的问题:
,而(true){
RegistryKey unpr=Registry.CurrentUser
OpenSubKey(cu_app.InstalledProduct)
.SubkeyName+
@“\Profiles\
”,
假)
如果(unpr!=null){
使用(unpr){
unpr.Close()
}
中断
}
}
/*以防我们等待半秒钟-
*足够了。代码成功运行
*也不需要等待。*/
线程睡眠(500)
/*现在已安装组件*/
proc.Kill()
proc.Close()
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 19:08 , Processed in 0.179241 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表