国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

判斷windows的桌面及其它目錄

2019-11-17 05:34:54
字體:
來源:轉載
供稿:網友

  使用API函數SHGetSpecialFolder。Shlobj.h里有SHGetSpecialFolder的原型聲明。這個函數可以幫我們找到windows的Desktop目錄、啟動目錄、我的文檔目錄等。  

  SHGetSpecialFolder需要三個參數。 第一個參數是HWND,它指定了"所有者窗口":在調用這個函數時可能出現的對話框或消息框。第二個參數是一個整數id,決定哪個目錄是待查找目錄,它的取值可能是:  

  CSIDL_BITBUCKET 回收站

  CSIDL_CONTROLS 控制面板

  CSIDL_DESKTOP Windows 桌面desktop

  CSIDL_DESKTOPDirectorY desktop的目錄

  CSIDL_DRIVES 我的電腦

  CSIDL_FONTS 字體目錄

  CSIDL_NETHOOD 網上鄰居

  CSIDL_NETWORK 網上鄰居virtual folder

  CSIDL_PERSONAL 我的文檔

  CSIDL_PRINTERS 打印機

  CSIDL_PROGRAMS 程序組

  CSIDL_RECENT 大多數最近打開的文檔列一

  CSIDL_SENDTO “發送到”菜單項

  CSIDL_STARTMENU 任務條啟動菜單項

  CSIDL_STARTUP 啟動目錄

  CSIDL_TEMPLATES 臨時文檔

  最后一個參數是pidl地址。SHGetSpecialFolderLocation把地址寫到pidl。  

  下面的代碼演示了怎樣使用SHGetSpecialFolderLocation:  

  //----------------------------------------------------------------------

  void __fastcall TForm1::Button1Click(Tobject *Sender)

  {

    LPITEMIDLIST pidl;

    LPMALLOC pShellMalloc;

    char szDir[MAX_PATH];

  if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))

    {

      if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOPDIRECTORY,&pidl)))

      {

        // 假如成功返回true

        if(SHGetPathFromIDList(pidl, szDir))

        {

          Label1->Caption = szDir;

        }

      pShellMalloc->Free(pidl);

      }

    pShellMalloc->Release();

    }

  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卢湾区| 吴川市| 雷波县| 兴国县| 沧源| 衡水市| 临颍县| 葵青区| 鹿泉市| 霍山县| 西宁市| 丹东市| 花莲县| 上蔡县| 澄江县| 班玛县| 介休市| 凉山| 孙吴县| 高台县| 东莞市| 当涂县| 漠河县| 溧阳市| 金阳县| 西乌| 普兰店市| 府谷县| 宣化县| 稷山县| 九龙坡区| 河曲县| 比如县| 炉霍县| 洪洞县| 游戏| 濉溪县| 夏邑县| 定日县| 平定县| 宜君县|