weixin_45891767 2019-11-24 16:06 采纳率: 0%
浏览 911

Windows编程,关于GetSaveFileName与GetOpenFileName函数用法

前面都设置好了,也从百度上找了好多样本,但是这两个函数的返回值始终是0,救命啊
代码如下:
BOOL SaveFigures(HWND hWnd)
{
static TCHAR szFileFilter[] = TEXT("All Files (*.*)\0*.*\0\0");

TCHAR         szFileName[MAX_PATH], szFileTitle[MAX_PATH];
OPENFILENAME  ofn;
static HANDLE         hFile;

    //初始化结构变量 ofn
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hWnd;
ofn.hInstance = NULL;
ofn.lpstrFilter = szFileFilter;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
ofn.nFilterIndex = 0;
ofn.lpstrFile = NULL;     //调用 GetOpenFileName 函数前设置        
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFileTitle = NULL;     //调用 GetOpenFileName 函数前设置
ofn.nMaxFileTitle = MAX_PATH;
ofn.lpstrInitialDir = NULL;
ofn.lpstrTitle = NULL;
ofn.Flags = 0;        //调用 GetOpenFileName 函数前设置
ofn.nFileOffset = 0;
ofn.nFileExtension = 0;
ofn.lpstrDefExt = TEXT("txt");
ofn.lCustData = 0L;
ofn.lpfnHook = NULL;

ofn.lpstrFile = szFileName;
ofn.lpstrFileTitle = szFileTitle;
ofn.Flags = OFN_HIDEREADONLY | OFN_CREATEPROMPT;
if (GetSaveFileName(&ofn))
{
    if (szFileTitle[0])
    {
        hFile = CreateFile(szFileName, GENERIC_WRITE, 0,
            NULL, CREATE_ALWAYS, 0, NULL);
        if ((DWORD)hFile != -1)
        {
            DWORD dwWriten = 0;
            WriteFile(hFile, &gLineCount, sizeof(UINT), &dwWriten, NULL);
            WriteFile(hFile, &gLines, gLineCount * sizeof(MYLINE), &dwWriten, NULL);
            WriteFile(hFile, &gRectCount, sizeof(UINT), &dwWriten, NULL);
            WriteFile(hFile, &gRects, gRectCount * sizeof(MYRECT), &dwWriten, NULL);
            WriteFile(hFile, &gEllipseCount, sizeof(UINT), &dwWriten, NULL);
            WriteFile(hFile, &gEllipses, gEllipseCount * sizeof(MYELLIPSE), &dwWriten, NULL);
            CloseHandle(hFile);
        }
        else
        {
            MessageBox(hWnd, TEXT("打开指定文件操作失败"),
                TEXT("文件操作演示程序"), MB_OK | MB_ICONERROR);
        }
    }
}
return TRUE;

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-25 00:23
    关注

    if (GetSaveFileName(&ofn) == IDOK)

    评论

报告相同问题?

悬赏问题

  • ¥15 CSS实现渐隐虚线边框
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题