【问题标题】:How to browse for file (Win7/64bits)如何浏览文件(Win7/64bits)
【发布时间】:2016-12-08 15:32:33
【问题描述】:

我需要在命令行应用程序上快速编写一个简单的 GUI。需要两个步骤:

  1. 指定输入文件路径,
  2. 指定输出文件路径(不存在)

我发现了一个 previous post,但是试图让上述 (1) 工作似乎是一项疯狂的任务。

确实BrowseForFolder 似乎只在一些奇怪的情况下有效,您可以将BIF_BROWSEINCLUDEFILES 仅用于*.pdf 和/或*.txt(反复试验)。如果我选择 *.dll 和/或 *.jpg(不要问),我会收到错误消息。

所以相反,我放弃了这种方法并遵循another one,在这种情况下(objIE.Document.all.FileSelect),只返回所选文件的名称路径似乎总是设置为"c:/fakepath" 出于某种原因。所以我再次错过了能够将其传递给命令行应用程序的完整路径。

是否有任何理智的方法(

【问题讨论】:

    标签: windows vbscript hta


    【解决方案1】:

    不知道人们是否仍然对 BrowseForFolder 文件选择问题感兴趣,但这是我发现的。 我在使用 &H4000 / BIF_BROWSEINCLUDEFILES 使用 BrowseForFolder 选择文件时遇到了同样的问题。我可以得到 .docx 但不是 .doc 文件的回报,正如你所说的 .pdf 文件。 对我来说 .txt 不会返回任何内容,而我正在编写的脚本所需的 WMI Backup .rec 文件也不会返回任何内容,从而导致以下错误信息:-

    Error: Unspecified error
    Code: 80004005
    Source: (null)
    

    在查看了其他解决方案后,我又回到了这个作为我的首选,而且它让我很头疼,因为它不想工作。因此,在痛苦的结局中,这似乎很容易。 为了让我的 .rec 文件被识别,我将它添加到注册表中:-

    [HKEY_CLASSES_ROOT\.rec]
    @="WMI.Backup"
    
    [HKEY_CLASSES_ROOT\WMI.Backup]
    @="WMI Backup"
    "BrowseInPlace"="1"
    

    要识别 .txt 文件,我将其添加到注册表中:-

    [HKEY_CLASSES_ROOT\txtfile]
    "BrowseInPlace"="1"
    

    所以 "BrowseInPlace"="1" 似乎是金块。

    看起来非常简单,我确信这个解决方案就在某个地方,但我从来没有遇到过,所以我想我会把它放到网上。

    我很想发现它对其他人有效,因为我担心这个问题可能会让我发疯,仍然不敢相信它似乎有效。 希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      这里有 3 种不同的方式来做你想做的事:

      http://www.robvanderwoude.com/vbstech_ui_fileopen.php
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-10
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 2019-03-23
        • 2023-03-25
        • 1970-01-01
        相关资源
        最近更新 更多