我一直不喜欢默认的文件夹选择. 楿反地,我喜欢MFC中的CFileDialog这种对话框.
如何使用SDK,实现CFileDialog对话框选择文件夹, 是我要解释和举例的.
2. 我们的实现. 前面说到这里,我们基本上已经知道如何实现選择对话框的要求了.
很遗憾,HookProc处理的是一个类似"伪"对话框的一个句柄, 使用spy++, 你会发现,真正处理消息的是HookProc中对话框句柄的父句柄.所以我们应该这麼做:
但是有一个问题,你选择一个文件夹,然后点击按钮"打开", 你会发现他默认打开这个对话框,而不会关闭对话框,返回对话框所选择的文件夹路徑.
如何解决这个问题?
我就是如此实现的.
网上有CFolderDialog这个简单的类,但是是MFC的,对我来说还是如鲠在喉, 所以在这里用SDK的方法实现之.
希望大家对Windows 有更深嘚理解.