当前位置: 首页 > news >正文

美容美发网站源码照片视频制作

美容美发网站源码,照片视频制作,网站建设公司哪个好做,宝安网站制作需要多少钱最近忙于一些相当无聊的事情#xff0c;还没忙完#xff0c;不过#xff0c;博客还是要写的#xff0c;不然我头顶上会多了几块砖头。 在上一篇博文中#xff0c;我们浏览了文件#xff0c;今天我们也浏览一下目录#xff0c;如何#xff1f; 浏览目录我们同样有两个规… 最近忙于一些相当无聊的事情还没忙完不过博客还是要写的不然我头顶上会多了几块砖头。 在上一篇博文中我们浏览了文件今天我们也浏览一下目录如何 浏览目录我们同样有两个规矩用托管类库的我就不说了相信大家两分钟就能弄好。重点还是说说第二个规矩用API方式。我们用到的是Shell函数一提到Shell可能有朋友会感到痛苦因为它很多函数涉及到COM不过也没什么了反正我的哲学理念是立足于实战。所以我给大家总结了思路。 就拿今天我们要用到的SHBrowseForFolder函数来说吧先说说这个函数的用途吧一句话概括显示一个对话框让你可以选择一个目录。 COM对象需要先初始化再用用完了释放根据这个思路大的步骤如下 1、CoInitialize(NULL); //初始化。 2、调用函数。 3、CoUninitialize(); //释放。 这个动作就好比你去租用商家的自行车去游玩别人只是把资源自行车借给你用你给押金引用计数等到你耍完了再去把资源还给人家。 要调用SHBrowseForFolder函数先初始化它的参数也就是BROWSEINFO结构体这个家伙初始化后将地址传给SHBrowseForFolder的lpbi参数。BROWSEINFO结构你得设置以下成员。 [cpp] view plain copy PIDLIST_ABSOLUTE pIDLIST;//函数返回的值存在这里  BROWSEINFO brsInfo;  WCHAR fdpath[MAX_PATH]; //接收选择目录的字符数组    。。。。。。。。。。。。。。。。。。。  brsInfo.hwndOwner  hWnd; //拥有者窗口  brsInfo.pidlRoot  NULL; //根目录为桌面  brsInfo.pszDisplayName  fdpath; //返回的被选择的路径  brsInfo.lpszTitle  L请选择目录; //对话框标题  brsInfo.ulFlags BIF_RETURNONLYFSDIRS | BIF_DONTGOBELOWDOMAIN | BIF_NEWDIALOGSTYLE; //不显示网络路径  brsInfo.lpfn  NULL; //没有回调  brsInfo.lParam  NULL; //没有额外参数   之后就可以调用函数了。 [cpp] view plain copy // 初始化COM组件用完后记得释放  CoInitialize(NULL);  pIDLIST  SHBrowseForFolder(brsInfo);  if(pIDLIST)  {      //取出对话框中用来显示结果的控件      HWND hStatic  GetDlgItem(hfDlg, IDC_DISPLAY);      SendMessage(hStatic,WM_SETTEXT, NULL, (LPARAM)fdpath);  }  CoUninitialize();  // 释放IDLIST  CoTaskMemFree((LPVOID)pIDLIST);   由于PIDLIST也是COM对象资源通过调用CoTaskMemFree函数将其释放。 现在运行一下应用程序。     聪明的你会发现虽然我们得到了选择的目录名字但不是完整路径通常我们是需要完整的路径的。这个也不难我们再请出另一个函数——SHGetPathFromIDList它可以帮我们得出完整的路径。 所以我们把上面的代码修改一下。 [cpp] view plain copy if(pIDLIST)  {      //得到完整路径      SHGetPathFromIDList(pIDLIST, fullPath);      //取出对话框中用来显示结果的控件      HWND hStatic  GetDlgItem(hfDlg, IDC_DISPLAY);      SendMessage(hStatic, WM_SETTEXT, NULL, (LPARAM)fullPath);      //SendMessage(hStatic,WM_SETTEXT, NULL, (LPARAM)fdpath);  }   现在再看看结果这回你肯定满意了。   -------------- 【C Code】 ------------------------- [cpp] view plain copy LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)  {      int wmId, wmEvent;      PAINTSTRUCT ps;      HDC hdc;        PIDLIST_ABSOLUTE pIDLIST;//函数返回的值存在这里      BROWSEINFO brsInfo;      WCHAR fdpath[MAX_PATH]; //接收选择目录的字符数组      WCHAR fullPath[MAX_PATH]; //完整路径        static HWND hfDlg;        switch (message)      {      case WM_CREATE:          hfDlg  CreateDialog(hInst, MAKEINTRESOURCE(IDD_FORMVIEW), hWnd, NULL);          ShowWindow(hfDlg,SW_SHOW);          break;      case WM_COMMAND:          wmId     LOWORD(wParam);          wmEvent  HIWORD(wParam);          // 分析菜单选择:          switch (wmId)          {          case IDM_ABOUT:              DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);              break;          case IDM_EXIT:              DestroyWindow(hWnd);              break;          case IDM_BROWSFOLDER:              brsInfo.hwndOwner  hWnd; //拥有者窗口              brsInfo.pidlRoot  NULL; //根目录为桌面              brsInfo.pszDisplayName  fdpath; //返回的被选择的路径              brsInfo.lpszTitle  L请选择目录; //对话框标题              brsInfo.ulFlags BIF_RETURNONLYFSDIRS | BIF_DONTGOBELOWDOMAIN | BIF_NEWDIALOGSTYLE; //不显示网络路径              brsInfo.lpfn  NULL; //没有回调              brsInfo.lParam  NULL; //没有额外参数              // 初始化COM组件用完后记得释放              CoInitialize(NULL);              pIDLIST  SHBrowseForFolder(brsInfo);              if(pIDLIST)              {                  //得到完整路径                  SHGetPathFromIDList(pIDLIST, fullPath);                  //取出对话框中用来显示结果的控件                  HWND hStatic  GetDlgItem(hfDlg, IDC_DISPLAY);                  SendMessage(hStatic, WM_SETTEXT, NULL, (LPARAM)fullPath);                  //SendMessage(hStatic,WM_SETTEXT, NULL, (LPARAM)fdpath);              }              CoUninitialize();              // 释放IDLIST              CoTaskMemFree((LPVOID)pIDLIST);              break;          default:              return DefWindowProc(hWnd, message, wParam, lParam);          }          break;      case WM_PAINT:          hdc  BeginPaint(hWnd, ps);          // TODO: 在此添加任意绘图代码...          EndPaint(hWnd, ps);          break;      case WM_DESTROY:          PostQuitMessage(0);          break;      default:          return DefWindowProc(hWnd, message, wParam, lParam);      }      return 0;  }   转载于:https://www.cnblogs.com/weekbo/p/8681932.html
http://www.huolong8.cn/news/260220/

相关文章:

  • 南磨房网站建设公司雅安建设网站
  • 在线免费做网站建设通网站会员共享密码
  • 河北省网站建设公司排名做婚礼logo免费的网站
  • 什么是门户网站建设平台国际销售网站有哪些
  • 做网站资讯运营著名咨询公司有哪些
  • wordpress 相册 不显示图片杭州专业网站优化公司
  • 网站联盟如何实现如何做网站主题
  • 兰州做网站客户怎么看网站被降权
  • 网站建设 互成网络qq邮箱网页版登录入口
  • 物流建设网站安康孝歌平台
  • js 取网站域名网站互动推广
  • wordpress不能载入图片佛山网站建设乐云seo在线制作
  • 开发网站比较好的公司wordpress 插件太多
  • html 网站新功能介绍网站建设与制作教程网站建设
  • 网站推广的渠道有哪些wordpress扒主题代码
  • 别人做的网站百度网站验证在线网页生成器
  • 招聘网站建设人员的要求互联网网站如何做流量统计
  • 南京网站排名外包wordpress前台中英文
  • 申请制作网站广州seo代理
  • 云南做网站多少钱餐饮网站建设的目的
  • 平面设计软件下载网站虎嗅wordpress
  • 网站建设与维护前景免费最好网站建设
  • 网站和app设计区别西安火车站网站建设
  • 什么对网站建设起到计划和指导作用深圳网络营销推广方案
  • 网站建设 建站知识手工制作礼品盒
  • 做网站是通过怎么挣钱西安知名网站推广
  • 租车网站建设网站模板名称
  • 河南网络建站网页设计的目的与要求
  • 如何把自己做的网站wordpress如何添加头像
  • 青海高端网站建设商城网站建设方案流程