程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 如何取得系統中的桌面的路徑

如何取得系統中的桌面的路徑

編輯:Delphi
我們在編寫程序的時候,經常會需要得到系統中的一些特殊目錄,例如:桌面、收藏夾、歷史文件、字體等。在windows98、windows NT、Windows 2000中他們的位置是不一樣的,尤其在Windows2000和wodows NT中,他們的位置隨著登陸用戶的不同而改變。那麼我們要如何取得這些特殊目錄的具體位置呢?

         當然是利用Api函數,現在我介紹兩個Api函數,利用他們就可以輕松簡單的獲取這些特殊系統目錄。

        Function SHGetSpecialFolderLocation(hwndOwner: HWND; nFolder: Integer;
   var ppidl: PItemIDList): HResult; stdcall;

        Function SHGetPathFromIDList(pidl: PItemIDList; pszPath: PChar):                BOOL;stdcall;

        其中由nFolder參數指定的就是各個特殊系統目錄:

        CSIDL_DESKTOP:毫無疑問這就是桌面;

        CSIDL_DRIVERS:我的電腦;

        CSIDL_FAVORITES:收藏夾;

        CSIDL_STARTUP:開始菜單;

        CSIDL_NETWORK:網上鄰居;

         還有很多,你可以查閱一下Delphi的Win32 Api函數的幫助文件,不過在幫助文件下的這些參數也不是很全,像收藏夾幫助文件裡面就沒有,你可以查閱一下它的頭文件:shlobj.pas。

        下面我就利用這兩個函數取得桌面的路徑(在win98和win2000下都可以使用):

         uses shlobj;

         var
           pitem:PITEMIDLIST;
           s:string;
         begin
            shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
           setlength(s,100);
            shGetPathFromIDList(pitem,pchar(s));
         end;

          在字符串s中存儲的就是桌面的路徑值。簡單吧!就是這麼簡單,但要是你不知道,你就得繞一個大圈子。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved