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

如何設定捷徑中的開始位置

答題得分者是:sryang
P.D.
版主


發表:571
回覆:3888
積分:3677
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-06-13 21:10:34 IP:118.169.xxx.xxx 未訂閱
請問各位:

搜尋好多資料, 找不到以下相關的資訊,
如何利用 InstallShield 或 InstallAware 設定捷徑(ShortCut)時, 可以同時將指定安裝路徑資訊寫入到捷徑中的"開始位置"(WorkingDir)
或者利用Delphi程式來寫入亦可, 謝謝!
leveon
資深會員


發表:30
回覆:386
積分:303
註冊:2012-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-06-14 09:24:39 IP:118.165.xxx.xxx 訂閱
 是印章老大 顆 顆~

google 關鍵字 :IShellLink delphi

附上一段 G來的程式

uses
ShlObj, ActiveX, ComObj, Registry;


procedure Create_A_Link(EXEFile: string;LinkName:string;EXEParam:string='');
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
FileName : String;
Directory : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := EXEFile;
with MySLink do begin
SetArguments(PChar(EXEParam));
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create(
'Software\MicroSoft\Windows\CurrentVersion\Explorer');
Directory := MyReg.ReadString('Shell Folders','Desktop','');
WFileName := Directory '\' LinkName '.lnk';
MyPFile.Save(PWChar(WFileName),False);
MyReg.Free;
end;


呼叫
Create_A_Link('C:\111\Aa.pdf','這是個pdf','');




sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-06-14 09:36:33 IP:114.35.xxx.xxx 訂閱
InstallAware 用法如下:
1. 點選左邊選單 "Setup Architecture" >> "Shortcuts"
2. "New..." 按鈕,輸入執行檔位置,輸入捷徑文字,選擇捷徑出現位置
3. "OK"
4. 選擇剛才建立好的捷徑 "Edit..."
5. 於 "Startup in Folder" 處輸入開始路徑,如果執行檔放在 "TARGETDIR",可以輸入 "$TARGETDIR$"
其餘變數請參考 Help 裡面的 "Pre-Defined Variables",變數名稱前後須加上 "$"

InstallShield 作法類似,但不像 InstallAwared 需要兩個畫面才能設定開始路徑
InstallShield 一個畫面就能設定好捷徑跟開始路徑了
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
P.D.
版主


發表:571
回覆:3888
積分:3677
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-06-14 23:33:03 IP:118.169.xxx.xxx 未訂閱
原來是 Startup in Folder, 我一直誤解了 這個定義, 以為是設定在程式集中的 group, 
經我再實際測試, 的確有加入了, 感謝,
而 installsield 有一個 Startin 的選項, 我還沒有測試, 不過猜想應該是這個沒錯,
感謝提供, 同時對二樓樓主提供的 code, 我也很感興趣, 礙於時間限制, 我先結案,
有空再測試樓主的code!
===================引 用 sryang 文 章===================
InstallAware 用法如下:
1. 點選左邊選單 "Setup Architecture" >> "Shortcuts"
2. "New..." 按鈕,輸入執行檔位置,輸入捷徑文字,選擇捷徑出現位置
3. "OK"
4. 選擇剛才建立好的捷徑 "Edit..."
5. 於 "Startup in Folder" 處輸入開始路徑,如果執行檔放在 "TARGETDIR",可以輸入 "$TARGETDIR$"
其餘變數請參考 Help 裡面的 "Pre-Defined Variables",變數名稱前後須加上 "$"

InstallShield 作法類似,但不像 InstallAwared 需要兩個畫面才能設定開始路徑
InstallShield 一個畫面就能設定好捷徑跟開始路徑了
系統時間:2017-12-15 20:13:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!