線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1899
推到 Plurk!
推到 Facebook!

如何取得某應用軟體的安裝路徑

尚未結案
damonlin
一般會員


發表:6
回覆:8
積分:2
註冊:2004-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-30 11:59:00 IP:61.30.xxx.xxx 未訂閱
請問前輩, 如何可以取得 windows 中,某個應用軟體的安裝路徑? 例如:Norton Antivirus
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-30 17:08:28 IP:61.63.xxx.xxx 未訂閱
引言: 請問前輩, 如何可以取得 windows 中,某個應用軟體的安裝路徑? 例如:Norton Antivirus
damonlin你好: 這個問題爛招來說的話,應該是找這個應用軟體主要執行檔的路徑!因為一個套裝軟體幾乎都有一個主要執行檔,例 class="code"> #include ~~~ void __fastcall TForm1::Button1Click(TObject *Sender) { TRegistry* registry=new TRegistry; registry->RootKey= HKEY_LOCAL_MACHINE; if (!registry->OpenKey("software\\mapinfo\\mapinfo\\professional\\650",false)) ShowMessage("Can't find the Key!"); AnsiString filepath=registry->ReadString("ProgramDirectory"); ShowMessage(filepath); registry->CloseKey(); if (!registry->OpenKey("software\\borland\\c builder\\6.0",false)) ShowMessage("Can't find the Key!"); filepath=registry->ReadString("RootDir"); ShowMessage(filepath); registry->CloseKey(); registry->Free(); } 上例可顯示install path,圖例如下: 問題點: 由上圖例,這麼做的問題點我想很明顯,就是每隻套裝軟體的install path放的階層都不盡相同,名稱也不同,有的叫RootDir有的叫ProgramDirectory…等等! 也就是說目前好像並沒有規則可尋,所以這也變成寫程式的困難點! 所以要看看有沒有查registry檔的規則,或是其它不用registry檔找軟體路徑的方式了!以上是一點淺見! 發表人 -
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-30 21:03:53 IP:61.64.xxx.xxx 未訂閱
使用REG偵測即可 KTOP有站長範例 http://delphi.ktop.com.tw/topic.php?topic_id=18125 有時可以收尋一下 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40185 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44915 m8815010 版主 的圖片說明與問答技巧不錯 如果是非一般正式安裝的 就自己查一下 檔案總管shell搜索的方式 但是如果是由DLL呼叫的service就由 工作管理員 檔案總管shell搜索的方式 這些資料 KTOP 應該都有 由其是BCB各版主問答的相關資料 工作管理員 部份 可以參考看dllee版主的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30743 發表人 - conundrum 於 2004/03/30 21:39:20
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-30 23:19:09 IP:61.230.xxx.xxx 未訂閱
如果已知執行檔名, 可以試試到下列位置找出執行檔的位置 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
damonlin
一般會員


發表:6
回覆:8
積分:2
註冊:2004-03-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-31 15:05:25 IP:61.30.xxx.xxx 未訂閱
感謝m8815010大大詳細的解說 應該可以解決我的問題 感激啊感激!!
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-01 17:07:46 IP:61.218.xxx.xxx 未訂閱
damonlin您好:    試試Installer Function Reference: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/installer_function_reference.asp Find the Installation Path of an Office 2000 or an Office XP or an Office 2003 Application http://support.microsoft.com/default.aspx?scid=kb;EN-US;234788 MsiGetComponentPath() API應該可以解決您的問題點... < class="code">/*生活是一種藝術,用心生活才能享受生活*/ 發表人 - axsoft 於 2004/04/01 17:45:52
系統時間:2024-11-25 13:23:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!