炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 281|回复: 1

[炫源码] 系统API选择文件夹对话框

[复制链接]
  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2023-12-19 17:07:39 | 显示全部楼层 |阅读模式
    1. int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
    2. {
    3.         CHAR szDesktop[MAX_PATH];
    4.         getDesktoppath(szDesktop); // 设置默认的打开路径
    5.         if (uMsg == BFFM_INITIALIZED)
    6.         {
    7.                 SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE,(LPARAM)szDesktop);
    8.         }
    9.         return 0;
    10. }
    11. /**
    12. *  文件夹选择对话框
    13. */
    14. unsigned char browseforfolder(char path[]) {
    15.         LPITEMIDLIST lpDlist =NULL;
    16.         TCHAR szPathName[MAX_PATH];
    17.         BROWSEINFO bInfo = { 0 };
    18.         memset(&bInfo, 0, sizeof(BROWSEINFO));
    19.         bInfo.lpszTitle = "选择文件的保存路径";
    20.         bInfo.hwndOwner = GetForegroundWindow();   
    21.         bInfo.lpfn = BrowseCallbackProc;
    22.         bInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_USENEWUI|
    23.                 BIF_UAHINT| BIF_NONEWFOLDERBUTTON ;
    24.         lpDlist = SHBrowseForFolder(&bInfo);
    25.         if(lpDlist!=NULL)
    26.         {   
    27.                 SHGetPathFromIDList(lpDlist, szPathName);
    28.                 strcpy(path,szPathName);
    29.                 return 1;
    30.         }
    31. return 0;
    32. }
    复制代码
    d75affbe47774dd39cfd1c7aee821323.png
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-4-27 20:12 , Processed in 0.073369 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表