调试时出现 GetOpenFileName 问题

问题描述 投票:0回答:1

我现在很生气

所以,我有这个简单的程序

#include <windows.h>
#include <iostream>
#include <stdint.h>

int main() {
    WCHAR Filestring[MAX_PATH] = L"\0";
    OPENFILENAMEW ofn = { 0 };
    ofn.lStructSize = sizeof(ofn);
    ofn.lpstrFile = Filestring;
    ofn.nMaxFile = MAX_PATH;
    if (GetOpenFileNameW(&ofn))
    {
    }



    return 0;
}

这是我的“简单的可重现示例”

当我在视觉工作室中运行此程序时,它在 GetOpenFileNameW 处崩溃。

为什么?我不知道。但是,当我从文件路径运行应用程序而不是调试时,它很好,它会像预期的那样打开对话框。

我意识到这是我的情况而不是代码的问题,所以我完全重新安装了 Windows!

之后,我测试了一下,确实有效。 5 小时后,我遇到了同样的错误。

这是我的错误:

有人知道该怎么办吗? 这段代码曾经有效,因为我只是从一个早期的项目中获取了它,该项目直到最近才无缘无故地工作。

c++ winapi
1个回答
0
投票

我修好了

我意识到 CMake 正在破坏它。我卸载了它并修复了它。奇怪吗?

© www.soinside.com 2019 - 2024. All rights reserved.