获得桌面文件Shell编程

来源:互联网 发布:汉诺伊塔的非递归算法 编辑:程序博客网 时间:2024/05/18 02:53
  1. #include <Windows.h>  
  2. #include <ShlObj.h>  
  3.  //记住关键几个函数就可以了
  4. int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd )  
  5.  {  
  6.      IShellFolder   *g_psfCurFolder = NULL;  
  7.      SHGetDesktopFolder(&g_psfCurFolder);  
  8.      LPENUMIDLIST   pEnum;//其实就是EnumList *  
  9.      if(SUCCEEDED(g_psfCurFolder->EnumObjects(NULL,SHCONTF_FOLDERS | SHCONTF_NONFOLDERS,&pEnum)))  
  10.      {  
  11.          LPITEMIDLIST   pidlTemp;  
  12.          DWORD          dwFetched = 1;    
  13.          while(S_OK == (pEnum->Next(1, &pidlTemp, &dwFetched)) && dwFetched)  
  14.          {  
  15.              char szPath[255];  
  16.              SHGetPathFromIDList(pidlTemp,(LPWSTR)szPath);                             
  17.              MessageBox(NULL,(LPWSTR)szPath,TEXT("Message"),MB_OK);  
  18.          }  
  19.      }     
  20.      return 0;  
  21. }
0 0
原创粉丝点击