C++创建选择文件对话框并获取文件路径

  • Post author:
  • Post category:其他




  1. #include <iostream>



  2. #include <windows.h>





  3. #include <commdlg.h>






  4. int


    main()


  5. {


  6. OPENFILENAME ofn;

    // 公共对话框结构。





  7. TCHAR


    szFile[MAX_PATH];


    // 保存获取文件名称的缓冲区。





  8. // 初始化选择文件对话框。




  9. ZeroMemory(&ofn,

    sizeof


    (OPENFILENAME));


  10. ofn.lStructSize =

    sizeof


    (OPENFILENAME);


  11. ofn.hwndOwner = NULL;

  12. ofn.lpstrFile = szFile;

  13. ofn.lpstrFile[0] =

    ‘\0’


    ;


  14. ofn.nMaxFile =

    sizeof


    (szFile);


  15. ofn.lpstrFilter =

    (LPCWSTR)


    “All(*.*)\0*.*\0Text(*.txt)\0*.TXT\0\0”


    ;


  16. ofn.nFilterIndex = 1;

  17. ofn.lpstrFileTitle = NULL;

  18. ofn.nMaxFileTitle = 0;

  19. ofn.lpstrInitialDir = NULL;

  20. ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;


  21. //ofn.lpTemplateName =  MAKEINTRESOURCE(ID_TEMP_DIALOG);





  22. // 显示打开选择文件对话框。



  23. if


    ( GetOpenFileName(&ofn) )


  24. {


  25. //显示选择的文件。





  26. std::cout << szFile << std::endl;


  27. OutputDebugString(szFile);    //这一句是显示路径吗?为什么不显示?

  28. OutputDebugString((LPCWSTR)



    “\r\n”


    );


  29. }

  30. system(

    “pause”


    );



  31. return


    0;


  32. }
  33. 原文:http://blog.csdn.net/stormwy/article/details/7895041