請問要如何修改捷徑的內容 |
答題得分者是:supman
|
alice100001
一般會員 發表:21 回覆:49 積分:19 註冊:2002-09-14 發送簡訊給我 |
我用下面的方式想修改一個捷徑檔的內容,將指定的執行檔的路徑改變一下,但試了好久都不成功,想請問要如何寫呢? 謝謝! function CreateShortcut(strExeFileName, strParameters, strPath, strLinkName: string):Boolean;
var
strLinkFileName: WideString;
shelllinkTemp: IShellLink;
persistfileTemp: IPersistFile;
begin shelllinkTemp := IshellLink(CreateComObject(CLSID_ShellLink));
with shelllinkTemp do
begin
SetPath(PAnsiChar(strExeFileName));
SetArguments(PAnsiChar(strParameters));
end;
shelllinkTemp.Resolve(0,slr_Update); if persistfileTemp.Save(PWideChar(strLinkName), False) = s_Ok then
Result := True
else Result := False; end; procedure TForm1.Button1Click(Sender: TObject);
begin
CreateShortcut(edit1.Text, Edit2.Text, Edit3.Text, Edit4.Text);
end; 我用的是Delphi7.0, window2000。
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
參考如下,若捷徑不存在會建立一個捷徑,若存在,則會去修改
使用單元 uses shlobj,comobj,activex; const IID_IShellLink: TCLSID = (D1:$000214EE; D2:$0; D3:$0; D4:($C0,$0,$0,$0,$0,$0,$0,$46)); IID_IPersistFile: TGUID = (D1:$0000010B;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46)); function TForm1.CreateLink(const lpszPathObj, lpszPathLink, lpszDesc: PChar): HRESULT; var hres: HRESULT; psl: IShellLink; ppf: IPersistFile; wsz: array[0..MAX_PATH] of WideChar; begin hres := CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLink, psl); if (SUCCEEDED(hres)) then begin psl.SetPath(lpszPathObj); psl.SetDescription(lpszDesc); hres := psl.QueryInterface(IID_IPersistFile,ppf); if (SUCCEEDED(hres)) then begin MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH); hres := ppf.Save(wsz, TRUE); ppf := nil; end; psl := nil; end; Result := hres; end; procedure TForm1.Button2Click(Sender: TObject); begin CreateLink ('C:\AUTOEXEC1.BAT', 'C:\A.LNK', '訊息'); end;http://delphi.ktop.com.tw/topic.php?topic_id=49020 發表人 - supman 於 2005/04/24 14:45:25 |
alice100001
一般會員 發表:21 回覆:49 積分:19 註冊:2002-09-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |