Rap*_*mit 4 .net vb.net openfiledialog
我注意到OpenFileDialog未能显示目录中的所有文件,这发生在我的应用程序中,但也发生在其他 Windows本机程序,如任务管理器"新任务""浏览"选项(使用OpenFileDialog控件),是否有人知道原因和可能的解决方法为了那个原因?
即使以管理员身份运行任务管理器也没有修复它,因此它不是由特权引起的
编辑:我现在知道这是由一个名为文件系统重定向器的appcompat功能引起的,显然我正在启动任务管理器32位,以及我自己的应用程序,因此它向我展示了32位system32又名SysWOW64文件夹(在Windows上谈论奇怪的命名方案) 7 64bit System32有64位文件,SysWOW64有32位文件),当你运行某个应用程序的32位版本时,你无法通过OpenFileDialog任何方式访问64位System32文件夹.
例如,在这里看到,它缺少SnippingTool.exe(但它不仅限于)
虽然我确信它确实存在于目标位置

当您在64位版本的Windows上运行代码时会发生这种情况.导航栏显示您正在查看c:\ windows\system32.但是你实际上看到了c:\ windows\syswow64的内容.导航到c:\ program files时会发生同样的事情.您实际上会看到c:\ program files(x86)的内容.没有32位版本的SnippingTool.exe,因此列表中缺少它.
这是一个名为"文件系统重定向"的appcompat功能.旨在为32位程序提供在64位操作系统上生存的机会.
您可以通过允许程序作为64位进程运行来关闭它.右键单击EXE项目,"属性","构建"选项卡.将平台目标设置更改为AnyCPU.在VS2012及更高版本中,取消选中"首选32位"选项.
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |