有没有办法在OnFileOk期间临时禁用IOpenFileDialog?

时间:2015-07-23 05:23:16

标签: c++ hook openfiledialog

使用SetSite挂钩挂钩所有常见文件对话框。

http://blogs.msdn.com/b/winsdk/archive/2015/03/24/how-to-register-for-file-dialog-notifications-from-shell-namespace-extension.aspx

一旦所选文件正常,我想执行冗长的操作(将其替换为另一个文件,从网上下载)。

问题是,OnFileOk在主线程上,使应用程序无响应。 我也试过运行另一个线程并进行消息泵(DoEvents),但然后可以再次使用该对话框(浏览等),我不想这样。

我见过,有时候对话框会自动禁用(所有按钮)。 有没有办法模拟它?

由于

============================编辑================== =====

同时我正在做某种解决方法:

  1. 我在做EnableWindow(hwndDialog,false)
  2. 我正在以单独的线程下载文件
  3. 同时我正在使用DoEvents(yuck)
  4. 最后我做了EnableWindow(hwndDialog,true)
  5. 这样做的伎俩,我也将光标更改为“加载”(yuck) - 也许我会添加一个说“下载”的窗口

    这是我能做到的最好的:/

0 个答案:

没有答案