我有这个win32应用程序,它将成为某些文件的转换器。 我想要的是一个简单的文件夹浏览器,您可以在其中选择要输入的文件和已转换文件的目标。 我可以通过拖放导入,这比执行此操作简单。 我尝试将BROWSEINFOSHBrowseForFolder一起使用,但是使用#include <shlobj.h>会给我带来很多错误。 还有其他方法可以通过文件夹浏览来获取文件路径吗? 它在对话框窗口中,使用Windows 8和VS 2013

错误:将#include <shobjidl.h>用于IFileDialog ,该头文件中出现语法错误。 没有标识符LPTBBUTTONSBHIMAGELIST

#1楼 票数:1

由于不需要支持XP,因此可以使用IFileDialog界面。 有关详细示例,请参见:

https://msdn.microsoft.com/zh-CN/library/windows/desktop/bb776913(v=vs.85).aspx

上面的链接包含名为BasicFileOpen的功能的完整实现,这正是您所需要的。

#2楼 票数:0 已采纳

在所有其他包含之前使用#include <shobjidl.h> ,而不是最后解决了我的编译错误,并且使用IFileDialog起作用了!

  ask by Rasmus translate from so

未解决问题?本站智能推荐:

1回复

使用Visual Studio将HTML浏览器嵌入到本机C ++ / Win32项目中

我在MS Visual Studio 2008 IDE中有一个C ++项目(注意,没有MFC,没有.NET,只是原生的Win32 API!)我想知道是否可以添加一个可以解析和呈现HTML /的子窗口CSS / JavaScript,就像浏览器一样。 如果那个窗口没有浏览器控件/按钮/边框 -
15回复

如何在 Win32 中递归创建文件夹?

我正在尝试创建一个函数,该函数采用目录名称( C:\\foo\\bar或..\\foo\\bar\\..\\baz或\\\\someserver\\foo\\bar ),并将目录创建为必要的,以便创建整个路径。 我自己正在尝试一个非常幼稚的实现,这似乎是一个字符串处理的噩梦。 有/ vs \\ ,
1回复

QtCreator中的Win32和DirectX应用程序

我需要创建一个Win32 / DirectX项目,该项目是从VS2010开始的,但是我无法将其作为C ++ IDE,因此我更喜欢使用QtCreator。 我尝试了两种方法:在VS2010中创建VS项目,并使用Qt插件生成.pro文件;在QtCreator中创建普通的C ++项目,然后自己添
10回复

如何打印到 Win32 应用程序中的调试输出窗口?

我有一个已加载到 Visual Studio 2005 中的 win32 项目。我希望能够将内容打印到 Visual Studio 输出窗口,但我终生无法弄清楚如何进行。 我试过 'printf' 和 'cout <<' 但我的消息顽固地没有打印出来。 是否有某种特殊的方式可以打印到
2回复

PropertySheet应用程序和用法Win32

我试图在Win32 DialogBox应用程序中使用属性表,以便我可以首先获取用户输入,将其应用于我的类,然后使用该用户输入的规范运行程序。 属性页看起来不错,但是我不确定是否记错了。 无论如何,我正在尝试实施它,但遇到了一些麻烦。 我阅读了文档,但仍然听不懂。 我设法使属性
5回复

获取默认浏览器

如何以编程方式确定哪个是系统中的默认浏览器。 该代码必须使用vc ++开发。为此是否有任何API? 默认浏览器值存储在注册表中的何处?
1回复

如何在不使用Visual Studio的情况下用C ++制作Win32应用程序? [关闭]

在过去的几个月中,我一直在自学C ++,并且我认为我已经准备好开始使用Win32 API。 有没有一种方法可以在不使用Visual Studio的情况下创建Win32程序? 编辑:我正在寻找替代方法的原因是,在我使用的计算机上,我没有管理员权限,这意味着我无法安装VS Code以外的任何
1回复

如何制作不依赖msvc dll的Win32应用程序?

我想使用Visual Studio编写没有msvc dll依赖性的c ++ win32应用程序。 我尝试了/NODEFAULTLIB选项,但此后由于没有库,即使使用“空”程序,也遇到了无法解决的外部错误。 我该如何纠正? 我必须链接哪些库? 这是我尝试使用/NODEFAULTLI