西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)Delphi → 在delphi 獲取特殊目錄 SHGetSpecialFolderLocation SHGetPathFromIDList

在delphi 獲取特殊目錄 SHGetSpecialFolderLocation SHGetPathFromIDList

前往專題相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時(shí)間:2015/7/21 10:31:21字體大。A-A+

作者:不詳點(diǎn)擊:879次評論:0次標(biāo)簽: delphi

新浪體育app客戶端3.10.0.0 官網(wǎng)安卓版
  • 類型:新聞資訊大小:33.8M語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載

在寫應(yīng)用程序的時(shí)候,我們經(jīng)常會用到讀取windows系統(tǒng)的一些特殊的目錄。比如 桌面 快速啟動欄的路徑等等。

下面介紹兩個(gè)API函數(shù) SHGetSpecialFolderLocation SHGetPathFromIDList

我們先看代碼:

通過 SHGetSpecialFolderLocation、SHGetPathFromIDList 函數(shù)獲取常用路徑

這個(gè)是在windows下顯示的結(jié)果


這是在 win7下面顯示的結(jié)果

0:C:\Users\Administrator\Desktop

1:

2:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

3:

4:

5:C:\Users\Administrator\Documents

6:C:\Users\Administrator\Favorites

7:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

8:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent

9:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo

10:

11:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu

12:

13:C:\Users\Administrator\Music

14:C:\Users\Administrator\Videos

15:

16:C:\Users\Administrator\Desktop

17:

18:

19:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts

20:C:\Windows\Fonts

21:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates

22:C:\ProgramData\Microsoft\Windows\Start Menu

23:C:\ProgramData\Microsoft\Windows\Start Menu\Programs

24:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

25:C:\Users\Public\Desktop

26:C:\Users\Administrator\AppData\Roaming

27:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts

28:C:\Users\Administrator\AppData\Local

29:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

30:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

31:C:\Users\Administrator\Favorites

32:C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files

33:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies

34:C:\Users\Administrator\AppData\Local\Microsoft\Windows\History

35:C:\ProgramData

36:C:\Windows

37:C:\Windows\System32

38:C:\Program Files (x86)

39:C:\Users\Administrator\Pictures

40:C:\Users\Administrator

41:C:\Windows\SysWOW64

42:C:\Program Files (x86)

43:C:\Program Files (x86)\Common Files

44:C:\Program Files (x86)\Common Files

45:C:\ProgramData\Microsoft\Windows\Templates

46:C:\Users\Public\Documents

47:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools

48:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools

49:

50:

51:

52:

53:C:\Users\Public\Music

54:C:\Users\Public\Pictures

55:C:\Users\Public\Videos

56:C:\Windows\Resources

57:

58:

59:C:\Users\Administrator\AppData\Local\Microsoft\Windows\Burn\Burn


文字結(jié)果 可以用 Ctrl+F 來查找


代碼文件:unit Unit1;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;
type
 TForm1 = class(TForm)
  Memo1: TMemo;
  procedure FormCreate(Sender: TObject);
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
uses ShlObj; {SHGetSpecialFolderLocation、SHGetPathFromIDList 函數(shù)來自這個(gè)單元}
{獲取常用路徑(的)函數(shù)}
function GetPath(FID: Integer): string;
var
 pidl: PItemIDList;
 path: array[0..MAX_PATH] of Char;
begin
 SHGetSpecialFolderLocation(0, FID, pidl);
 SHGetPathFromIDList(pidl, path);
 Result := path;
end;
{測試時(shí), 我把 SHGetSpecialFolderLocation 函數(shù)需要(的)參數(shù)定義成了一個(gè)常數(shù)數(shù)組}
const
 arr: array[0..57] of Integer = (
  CSIDL_DESKTOP         , { = $0000 }
  CSIDL_INTERNET        , { = $0001 }
  CSIDL_PROGRAMS        , { = $0002 }
  CSIDL_CONTROLS        , { = $0003 }
  CSIDL_PRINTERS        , { = $0004 }
  CSIDL_PERSONAL        , { = $0005 }
  CSIDL_FAVORITES        , { = $0006 }
  CSIDL_STARTUP         , { = $0007 }
  CSIDL_RECENT         , { = $0008 }
  CSIDL_SENDTO         , { = $0009 }
  CSIDL_BITBUCKET        , { = $000a }
  CSIDL_STARTMENU        , { = $000b }
  CSIDL_MYDOCUMENTS       , { = $000c }
  CSIDL_MYMUSIC         , { = $000d }
  CSIDL_MYVIDEO         , { = $000e }
  CSIDL_DESKTOPDIRECTORY    , { = $0010 }
  CSIDL_DRIVES         , { = $0011 }
  CSIDL_NETWORK         , { = $0012 }
  CSIDL_NETHOOD         , { = $0013 }
  CSIDL_FONTS          , { = $0014 }
  CSIDL_TEMPLATES        , { = $0015 }
  CSIDL_COMMON_STARTMENU    , { = $0016 }
  CSIDL_COMMON_PROGRAMS     , { = $0017 }
  CSIDL_COMMON_STARTUP     , { = $0018 }
  CSIDL_COMMON_DESKTOPDIRECTORY , { = $0019 }
  CSIDL_APPDATA         , { = $001a }
  CSIDL_PRINTHOOD        , { = $001b }
  CSIDL_LOCAL_APPDATA      , { = $001c }
  CSIDL_ALTSTARTUP       , { = $001d }
  CSIDL_COMMON_ALTSTARTUP    , { = $001e }
  CSIDL_COMMON_FAVORITES    , { = $001f }
  CSIDL_INTERNET_CACHE     , { = $0020 }
  CSIDL_COOKIES         , { = $0021 }
  CSIDL_HISTORY         , { = $0022 }
  CSIDL_COMMON_APPDATA     , { = $0023 }
  CSIDL_WINDOWS         , { = $0024 }
  CSIDL_SYSTEM         , { = $0025 }
  CSIDL_PROGRAM_FILES      , { = $0026 }
  CSIDL_MYPICTURES       , { = $0027 }
  CSIDL_PROFILE         , { = $0028 }
  CSIDL_SYSTEMX86        , { = $0029 }
  CSIDL_PROGRAM_FILESX86    , { = $002a }
  CSIDL_PROGRAM_FILES_COMMON  , { = $002b }
  CSIDL_PROGRAM_FILES_COMMONX86 , { = $002c }
  CSIDL_COMMON_TEMPLATES    , { = $002d }
  CSIDL_COMMON_DOCUMENTS    , { = $002e }
  CSIDL_COMMON_ADMINTOOLS    , { = $002f }
  CSIDL_ADMINTOOLS       , { = $0030 }
  CSIDL_CONNECTIONS       , { = $0031 }
  CSIDL_COMMON_MUSIC      , { = $0035 }
  CSIDL_COMMON_PICTURES     , { = $0036 }
  CSIDL_COMMON_VIDEO      , { = $0037 }
  CSIDL_RESOURCES        , { = $0038 }
  CSIDL_RESOURCES_LOCALIZED   , { = $0039 }
  CSIDL_COMMON_OEM_LINKS    , { = $003a }
  CSIDL_CDBURN_AREA       , { = $003b }
  CSIDL_COMPUTERSNEARME     , { = $003d }
  CSIDL_PROFILES         { = $003e }
 );
{測試}
procedure TForm1.FormCreate(Sender: TObject);
var
 i: Integer;
 s: string;
begin
 Memo1.Clear;
 for i := 0 to Length(Arr) - 1 do
 begin
  s := GetPath(Arr[i]);
  if s<>'' then Memo1.Lines.Add(Format('%d:'#9'%s', [Arr[i], s]));
 end;
end;
end.
窗體文件:object Form1: TForm1
 Left = 0
 Top = 0
 Caption = 'Form1'
 ClientHeight = 318
 ClientWidth = 465
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'Tahoma'
 Font.Style = []
 OldCreateOrder = False
 OnCreate = FormCreate
 PixelsPerInch = 96
 TextHeight = 13
 object Memo1: TMemo
  Left = 0
  Top = 0
  Width = 465
  Height = 318
  Align = alClient
  Lines.Strings = (
   'Memo1')
  ScrollBars = ssBoth
  TabOrder = 0
  ExplicitWidth = 409
 end
end

 

看一個(gè)本站編寫的函數(shù)

//獲取系統(tǒng)特殊文件夾路徑(SHGetSpecialFolderLocation)
procedure getFolder(aLocation: integer;var path:string);//path為輸出參數(shù)
 var
  pIdl: PItemIDList;
  hPath: PChar;
begin
   if SUCCEEDED(SHGetSpecialFolderLocation(0, aLocation, pidl)) then
  begin
   hPath := StrAlloc(max_path) ;
   SHGetPathFromIDList(pIdl, hPath) ;
   path:=strpas(hpath);
   StrDispose(hPath) ;
  end;
 end;

調(diào)用的時(shí)候就只需要

var

path:string;

 getFolder(16,path); 這樣就可以了



    足球社區(qū)
    (10)足球社區(qū)
    足球社區(qū)系列由西西為大家整理而來,當(dāng)前都市工作者亞健康問題嚴(yán)重,如果能引動大家的興趣而進(jìn)行體育活動是一個(gè)十分不錯(cuò)的選擇,無論是足球籃球,只要有你喜愛的運(yùn)動項(xiàng)目,都可在平臺上找尋同城的興趣愛好者,一起找尋場地進(jìn)行體育運(yùn)動,豐富我們生活的同時(shí)也保障了我們的身體健康。功能簡介社交模塊踢球找球場找球隊(duì)找球員組織踢球活動,為業(yè)余球員提供全面的踢球信息,搭建業(yè)余球隊(duì)球員注冊體系。看球?yàn)閲鴥?nèi)球迷提供門票信息服務(wù)...更多>>
    籃球資訊app
    (216)籃球資訊app
    籃球運(yùn)動是大多數(shù)男生都很喜愛的運(yùn)動之一,它以其對抗性可觀賞性等特點(diǎn)使得越來越多的人愛上了這項(xiàng)體育運(yùn)動。有的人不打球,但對各項(xiàng)籃球賽事很感興趣,經(jīng)常關(guān)注各類比賽。小編在搜集整理了一些籃球資訊類的應(yīng)用,文字直播比賽視頻球員動態(tài)等內(nèi)容一應(yīng)俱全。各位球迷朋友們不要錯(cuò)過了,快來看看吧。...更多>>
    體育新聞
    (58)體育新聞
    體育新聞應(yīng)用匯聚全網(wǎng)各大體育新聞平臺軟件,為用戶帶來最全面的體育賽事資訊,無論是籃球足球羽毛球乒乓球,體育新聞一手掌握,為用戶帶來最新的熱點(diǎn)動態(tài),讓你為自己喜愛的球隊(duì),喜歡的球員而吶喊喝彩,打開手機(jī),就能暢享體育激情。最新資訊庫里勇士首節(jié)打爆湖人開局連勝創(chuàng)歷史北京時(shí)間今天上午,常規(guī)賽繼續(xù)進(jìn)行。在一場受人矚目的較量中,勇士主場大勝湖人,取得開局連勝刷新歷史記錄。勇士核心控衛(wèi)庫里拿到分助攻,德雷蒙德格...更多>>
    lols5直播
    (16)lols5直播
    直播軟件西西下載專區(qū)為您提供英雄聯(lián)盟比賽直播軟件下載大全,包含電腦直播軟件和手機(jī)直播,并且還有眾多比賽視頻哦直播簡介已經(jīng)開打了一段時(shí)間,盡管中國隊(duì)的表現(xiàn)不盡人意,但是還是有眾多的玩家對比賽報(bào)以期待。英雄聯(lián)盟系列總決賽是比賽里面最高榮譽(yù),各個(gè)強(qiáng)隊(duì)將齊聚在這偉大的殿堂,決出世界上最強(qiáng)的隊(duì)伍。西西本頁為您提供直播軟件下載,為您提供比賽視頻打包下載。直播軟件有哪些直播地址主要是官網(wǎng)的騰訊視頻語音以及龍珠斗...更多>>
    • 騰訊視頻播放器2017v9.19.1987 官方

      02-20 / 35.2M

      推薦理由:騰訊視頻2016官方免費(fèi)下載是騰訊視頻旗下的客戶端產(chǎn)品,支持豐富內(nèi)容的在線點(diǎn)播及電視臺直播,提供列表管理
    • QT語音V4.6.22(17784) 官方最新版

      12-15 / 57.9M

      推薦理由:QT語音是一款支持多人語音交流的團(tuán)隊(duì)語音通信工具,主要面向需團(tuán)隊(duì)協(xié)作的游戲用戶,也適用于需多人語音溝通
    • 斗魚tv電腦客戶端V2.4.2.1 官網(wǎng)版

      12-14 / 30.8M

      推薦理由:斗魚TV是acfun.tv以前的視頻直播,現(xiàn)在改名斗魚TV,跟YY直播競爭的,現(xiàn)在剛改名的斗魚TV。斗魚tv電腦版隨時(shí)
    • 手機(jī)騰訊視頻android版V5.3.0.1158

      12-26 / 30.2M

      推薦理由:騰訊視頻,qqlive安卓版是為Android手機(jī)用戶量身打造的網(wǎng)絡(luò)視頻播放客戶端。采用輕量級的界面設(shè)計(jì)、豐富多元
    • 斗魚tv安卓版2.4.5官方版

      01-24 / 41.8M

      推薦理由:斗魚tv游戲直播平臺相信對于很對電競玩家來說很熟悉了,現(xiàn)在斗魚tv強(qiáng)勢推出安卓手機(jī)客戶端,斗魚tv安卓版讓
    • 游久看比賽appV2.23安卓官網(wǎng)版

      06-14 / 14.3M

      推薦理由:游久看比賽app,為你帶來精彩的LOL賽事紙幣直播!夏季賽激戰(zhàn)之際,馬上有事LOL四周年,游戲賽事自然是必不可
    電視盒子軟件
    (35)電視盒子軟件
    電視盒子是一個(gè)連接電視機(jī)與互聯(lián)網(wǎng)的設(shè)備。電視機(jī)通過網(wǎng)絡(luò)電視盒連接互聯(lián)網(wǎng),收看網(wǎng)絡(luò)電視節(jié)目。樂寶智能電視盒為代表的主流品牌,為其搭載了目前市場上應(yīng)用最廣的安卓系統(tǒng),讓傳統(tǒng)的電視機(jī)升級為智能化網(wǎng)絡(luò)化。讓電視機(jī)實(shí)現(xiàn)和智能手機(jī)平板電腦一樣的功能,讓電視機(jī)由用戶自行安裝和卸載軟件游戲等應(yīng)用程序,實(shí)現(xiàn)無限的內(nèi)容無限的應(yīng)用。電視盒子哪個(gè)好雖然各大電視廠商都發(fā)布了一些電視盒子軟件,但是西西覺得目前來說還是華為密盒...更多>>
    • 樂視影視 letvv6.0.1 VIP去廣告特別

      12-05 / 31.3M

      推薦理由:樂視影視Android客戶端是由樂視網(wǎng)傾情打造的一款精品視頻應(yīng)用,包括視頻的在線播放、收藏記錄、播放記錄、多
    • 小米盒子遙控器v4.1 安卓手機(jī)版

      02-08 / 2.7M

      推薦理由:小米盒子遙控器:一款可以將你的Android手機(jī)變成小米盒子遙控器的控制應(yīng)用,軟件功能十分強(qiáng)大,讓你拋開傳統(tǒng)
    • APUS消息提醒v1.4.0 安卓版

      05-25 / 513KB

      推薦理由:APUS消息提醒是APUS桌面的一個(gè)插件,它能幫助您及時(shí)注意到未接來電和未讀短信。當(dāng)存在消息提醒時(shí),電話或短
    • 電視qq2.0安卓版

      03-20 / 6.3M

      推薦理由:騰訊電視qq手機(jī)版,裝逼必備的一個(gè)QQ聊天軟件,因?yàn)楝F(xiàn)在還是測試版本,小編在安裝登入的時(shí)候出現(xiàn)了錯(cuò)誤,如
    • 快樂TV云點(diǎn)播v5.0 綠色版

      10-23 / 1.5M

      推薦理由:快樂TV云點(diǎn)播是一款在種子搜索及播放工具,提供了海量影片庫資源,同時(shí)還自帶了種子搜索器功能,多個(gè)通道,
    • TV客v1.0.1 安卓版

      08-21 / 14.0M

      推薦理由:TV客是由北京閃聯(lián)云視信息技術(shù)有限公司推出的一款基于話題興趣的電視社交應(yīng)用,脫離傳統(tǒng)電視單調(diào)的觀看模式

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)