EVOL4 2019-02-02 22:33 采纳率: 0%
浏览 1434
已结题

如何与windows的打开/保存文件对话框的交互

我现在需要跟windows,**任何程序**创建的save/open 文件对话框进行交互,根据msdn所说
链接:


从vista开始,提供了IFileDIalog接口来替代以前的GetOpenFileName等方法


但是这些api还是可用的,只是这些api显示的窗口与IFileDialog显示出的窗口风格不一样


我现在的需求就是
1. 不管是用GetOpenFileName() 等api还是iFIleDialog接口,当一个文件对话框存在时,我的程序怎样才能定位到它呢(最好能获得它的HWND)
2. 假设我有一文件路径,如C:\MyFolder,我该怎样让某个文件对话框定位到这个文件夹呢


我自己研究了两天,关于第一点,我想通过SetWindowsHookEx过滤WM_INITDIALOG消息解决,但我没办法判断新创建的对话框是不是文件对话框,而且已经创建完毕的文件对话框也不能这样定位



关于第二点,我发现iFIleDialog->setFolder() 可以让一个已经打开的文件dialog定位到目标文件夹,但首先我得能获得目标对话框对应的iFIleDialog接口才行,对com接口编程我不是很熟悉

  • 写回答

2条回答

  • devmiao 2019-02-02 23:55
    关注
    评论

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用