首页 新闻 赞助 找找看

获取软件安装的路径!高分!

0
悬赏园豆:200 [已解决问题] 解决于 2008-05-17 21:08
<P>如何获取软件安装的路径,是通过注册表还是通过搜索来实现。比如QQ的安装路径D:\Program&nbsp;Files\Tencent\QQ,复制文件夹--通过button1按钮把QQ文件夹中的所有文件复制到当前文件夹中。文件调用--再通button2来调用QQ.exe运行。</P>
fsfree的主页 fsfree | 初学一级 | 园豆:0
提问于:2008-05-01 20:17
< >
分享
最佳答案
0
一、如果你开发的C/S程序,那么编写起来不是很复杂,方法如下: 1、获得路径的方法(博友deerchao提到过的) 请在注册表编辑器中查看以下条目: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall(找到你需要的软件名称,查找键名为[UninstallString]中的值,舍弃最后的文件,前面一般就是安装路径了) 关于读写注册表的方法,网上有很多,请结合(1)、(2): (1)、using Microsoft.Win32;//注意添加此引用 RegistryKey rk = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\..."); (2)、请访问网页,此网页中有读注册表的方法与(1)相同,同时还有写注册表的方法http://blog.csdn.net/jinru2560/archive/2006/01/13/578021.aspx 2、复制文件夹的方法 这里就不重复写代码了,无论使用API函数还是使用程序开发都很长,提供两个网页,代码很详细,你看看是否能明白和理解: (1)、http://zhidao.baidu.com/question/51770634.html (2)、http://topic.csdn.net/t/20050711/16/4137173.html 3、调用某个exe运行的方法 System.Diagnostics.Process.Start("*****");//*****是指你所要调用的exe文件的路径及文件全名。 4、当你结束自己的程序同时也需要结束使用第3点方法打开的某exe时,使用如下方法 private static void KillProcess(string strProName) { System.Diagnostics.Process[] pro = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process IsProcedding in pro) { if (IsProcedding.ProcessName.ToUpper() == strProName)//strProName是第3点中打开的exe软件启动后的应用程序进程名,ToUpper()方法是将字符串名中字符全部转为大写英文字符 { IsProcedding.Kill(); } } } 二、如果开发的B/S程序,编写起来就较为复杂,因为你要用IE来操纵客户端。这里就不详述了,猜想你所寻求的应该是开发C/S模式下的这些问题的解决方法。 希望能帮助到您,祝你成功!
刚刚 | 老鸟四级 |园豆:3151 | 2008-05-02 05:14
其他回答(2)
0
这个只能通过搜索注册表来完成. 请在注册表编辑器中查看以下条目: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall 然后研究里边的信息.
deerchao | 园豆:8367 (大侠五级) | 2008-05-01 23:21
0
Application 这个对象不行吗?
二十二号同学 | 园豆:790 (小虾三级) | 2008-05-05 15:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册