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

是否有 Win32 API 可以呼叫清除「開始→文件」內的已開啟文件記錄

答題得分者是:hagar
Dalman
一般會員


發表:27
回覆:22
積分:24
註冊:2002-08-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-29 09:59:14 IP:211.21.xxx.xxx 未訂閱
【問題】 目前因專案客戶需要,要求從 server-side 下載至 client-side 電腦內開啟的文件,不可以在 client-side 電腦中留下已開啟文件記錄,因此「開始→文件」內的已開啟文件記錄勢必得由程式自動清除。 【求助】 各位有經驗的大大,可否告知哪個Win32 API函式或使用什麼程式碼,可以清除這個由windows主動記錄下的「已開啟文件」記錄。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-29 10:32:36 IP:211.22.xxx.xxx 未訂閱
uses  ShlOBJ;
   
procedure TForm1.Button1Click(Sender: TObject);
begin
  SHAddToRecentDocs(SHARD_PATH, nil);
end;
發表人 - hagar 於 2002/08/29 11:06:08
天外來客
初階會員


發表:22
回覆:199
積分:44
註冊:2001-11-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-29 11:32:56 IP:211.21.xxx.xxx 未訂閱
【資料來源】 為了解決上述「不留痕跡」問題,從別的網站找出兩個Win32 API函式: 要正確地取得特殊資料夾的所在目錄,可呼叫 SHGetSpecialFolderLocation 及 SHGetPathFromIDList API 函數(源自http://www.hosp.ncku.edu.tw/~cww/html/system.html,VB心得筆記),而「最近開啟的文件」特殊目錄代碼為8(十進位)。 【請教】 若各位大大有經驗使用此兩個函式,能否在此提供在Delphi實作上的經驗或該注意的地方?謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-29 18:07:19 IP:211.22.xxx.xxx 未訂閱
要清除 「開始→文件」內的已開啟文件記錄, 用上述的方法即可。 至於 SHGetSpecialFolderLocation 及 SHGetPathFromIDList 兩個 API 的用法, 底下有一個範例可參考:
uses ShlObj;
  
procedure TForm1.Button1Click(Sender: TObject);
var pidl: PItemIDList;
  FavPath: array[0..MAX_PATH] of char;
  temp: array [1..11] of integer; 
  i: byte;
begin
  temp[1] := CSIDL_DESKTOP; // 桌面
  temp[2] := CSIDL_DESKTOPDIRECTORY; // 桌面目錄
  temp[3] := CSIDL_FONTS; // 字體目錄
  temp[4] := CSIDL_NETHOOD; // 網路芳鄰
  temp[5] := CSIDL_PERSONAL; // My Documents 目錄
  temp[6] := CSIDL_PROGRAMS; // 開始選單程序目錄
  temp[7] := CSIDL_RECENT; // 存放最近開啟文件快捷方式的目錄
  temp[8] := CSIDL_SENDTO; // "傳送至" 目錄
  temp[9] := CSIDL_STARTMENU; // 開始選單目錄
  temp[10] := CSIDL_STARTUP; // 開始選單啟動項目錄
  temp[11] := CSIDL_FAVORITES; // 我的最愛目錄
  for i:= 1 to 11 do begin
    SHGetSpecialFolderLocation(Handle, temp[i], pidl);
    SHGetPathFromIDList(pidl, favpath);
    ListBox1.Items.Add(StrPas(FavPath));
  end;
end;
發表人 - hagar 於 2002/08/29 18:08:40
系統時間:2024-04-25 16:14:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!