繁体   English   中英

Win32 OpenFileDialog不筛选* .DOCX快捷方式

[英]Win32 OpenFileDialog Does Not Filter *.DOCX Shortcuts

我可以在装有Windows 7 SP1的多台不同计算机上执行此操作。

可以在记事本(或使用OpenFileDialog任何其他应用程序)中复制它。

  1. 创建DOCX的快捷方式
  2. 启动记事本
  3. 文件,打开
  4. 过滤* .txt
  5. 浏览到* .docx快捷方式的位置

* .docx是我可以找到的唯一不过滤的快捷方式扩展。 到目前为止,我唯一的解决方法是让我的应用程序在用户选择文件后检查文件扩展名。

有什么方法可以使OpenFileDialog过滤出用户所期望的* .docx.lnk文件?

为什么只影响Office文件扩展名?

仅Office 2007+文档的快捷方式会受到影响。 (快捷方式实际上具有.lnk扩展名,该扩展名被外壳程序(即Windows资源管理器)隐藏了。

指定的掩码的“* .txt”是当用FindFirstFile 没有找到这些文件,所以这是后话了壳一样。

您可以尝试禁用相应的Shell插件以确定哪个插件负责该行为(为安全起见:禁用插件,通过任务管理器杀死并重新启动资源管理器,然后在再次测试之前重新启动进程)。

我检查了最明显的候选人,找不到任何候选人。


编程建议:验证输入。 就您而言,这是文件内容,而不是文件扩展名!

我可以在“打开”对话框中指定任何字段,即使您限制了蒙版也是如此。
我可以将文本文件另存为“ really.important”,但仍然希望在您的应用程序中将其打开。
我可以将我的Word文件保存为“真正的word document.txt”,在您的应用程序中打开它,至少希望您不会崩溃-

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM