【问题标题】:MSDN open dialog box sample codeMSDN打开对话框示例代码
【发布时间】:2014-06-11 22:10:33
【问题描述】:

所以我试图从 MSDN 运行和编译这段示例代码(打开一个对话框): http://msdn.microsoft.com/en-us/library/ff485843(v=vs.85).aspx

我的编译器出错: main.cpp:在函数“int wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int)”中: main.cpp:19:9: 错误:'IFileOpenDialog' 未在此范围内声明

我从文档中得到的是 CoInitializeEx 函数应该链接到必要的 COM 库并导入所需的函数。虽然我对 C++ 和 Windows 完全陌生,但我肯定会出错。

我使用 Netbeans、MinGW 和 MSYS。

有人可以帮我看看这里发生了什么以及如何解决吗?

【问题讨论】:

  • 您是否按照示例包含了所有内容?你能显示你当前的代码吗?
  • 在 MinGW 中,可能缺少这些东西。 Winapi 很大,不是所有的东西都被移植了。
  • 我只是复制并粘贴了那里的所有内容。假设它丢失了,你将如何解决这个问题?
  • 除了尝试在MinGW中使用VS头文件,或者使用VS本身;还是为 MinGW 项目做东西?使用以下答案的替代方案...

标签: c++ windows


【解决方案1】:

MinGW g++ 4.8.2 版(我拥有的那个)还不支持在 Windows Vista 或更高版本中引入的 Windows API 函数或接口。

作为一种解决方法,您可以使用旧的GetOpenFileName or GetSaveFileName dialog

或者下载并安装 Visual Studio Express for Windows Desktop,并使用 Visual C++。

【讨论】:

  • 谢谢,我会花很长时间来弄清楚这一点。我想学习在Windows中编程,你似乎有一些知识和声誉:你会怎么做? MSDN 似乎非常依赖 Visual Studio。有没有更好的资源来学习不依赖任何依赖的窗口?
  • 或者仅仅是MinGW根本不包含必要的东西?
  • 当然,MSDN 和 VS 是由同一家公司制造的……当使用 API 中的“不寻常”的东西时,VS 仍然是最简单的方法。是的,MinGW 只是缺少这些东西,因为直到现在还没有人成功。
  • @user3718333:我从 Petzold 的经典“Programming Windows”一书中学习了 Windows 编程,然后是 Windows 3.1,或者可能是 3.0 :)。使用 Visual C++。但据报道,该书的最新版本是 C# 和 .NET,而不是我理解的 API 级别。您可以使用我的旧 Windows API tutorial 启动并运行,我确保所有示例都可以使用 MinGW g++ 构建。
  • 谢谢大家,我想你们救了我一串白发:)
猜你喜欢
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
相关资源
最近更新 更多