Vbscript 将快捷方式拖放到HTA上

Vbscript 将快捷方式拖放到HTA上,vbscript,hta,Vbscript,Hta,我正在尝试构建一个本地HTA(HTML应用程序),它将把我发送到我指定的网站。我已经使用了它的大部分功能,因为目前它允许我输入一个地址,并选择是否在Internet Explorer或Firefox中打开该URL(无论是在普通情况下还是在私人情况下) 我想问的是,是否有一个vbscript可以添加到我的HTA中,它可以让我拖放桌面上的快捷方式,然后单击按钮来执行与键入相同的操作。从本质上说,我希望它与谷歌图像搜索类似。您可以键入或拖放图像进行搜索。这只是为了让我快速打开保存了快捷方式的网页。我知

我正在尝试构建一个本地HTA(HTML应用程序),它将把我发送到我指定的网站。我已经使用了它的大部分功能,因为目前它允许我输入一个地址,并选择是否在Internet Explorer或Firefox中打开该URL(无论是在普通情况下还是在私人情况下)


我想问的是,是否有一个vbscript可以添加到我的HTA中,它可以让我拖放桌面上的快捷方式,然后单击按钮来执行与键入相同的操作。从本质上说,我希望它与谷歌图像搜索类似。您可以键入或拖放图像进行搜索。这只是为了让我快速打开保存了快捷方式的网页。我知道我可以使用favorites选项,但我经常使用许多不同的计算机,而且我有一个闪存驱动器,上面有我所有的东西。

是的,你可以看到这篇文章,来自Hey,Scripting Guy(Vbscript和Powershell东西的最佳资源)。将某些内容拖到快捷方式上几乎与将参数传递给脚本(此处为HTA)相同

是否要拖动文件(本例中为url快捷方式)并将其放到open.hta窗口中?若有,那个么看起来您正在寻找的东西还并没有在HTML应用程序中实现

编辑

如果您有最新的Internet Explorer版本(9+),则可以使用HTML5本机 特色。因为我使用的是XP,IE8是最高级的版本,所以我无能为力 在这一挑战中

如果这样困难或不适用,那么可以考虑计划B,在哪里可以起作用。 启动时,扫描您的

桌面
,查找
*.URL
文件并将其填充到元素中,因此您将以如下内容结束:

<select id="urlList">
  <option value="" selected>---</option>
  <option value="http://...">Shortcut1.url</option>
  <option value="http://...">Shortcut2.url</option>
</select>
<input id="urlAddress" type="text">
下面是一个快速入门的片段

Set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")

Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(strDesktop)

For Each f In fld.Files
    If f.Type = "Internet Shortcut" Then
        MsgBox f.Path & vbNewLine & ReadURL(f.Path)
    End If
Next

Function ReadURL(urlFile)
    With CreateObject("Scripting.FileSystemObject")
        With .OpenTextFile(urlFile, 1)
            .SkipLine
            ReadURL = (Split(.ReadLine, "="))(1)
        End With
    End With
End Function

谢谢你,peter,我已经看过并使用了那篇文章,我不知道如何根据我的需要实现它。我正在寻找一种方法来保持hta打开,并有一个类似的框,在那里我可以拖放桌面上的url快捷方式,它可以从该文件中提取url并访问网站。我建议的技术不是使用hta在窗口上进行dop,而是使用hta的快捷方式。如果你想在HTA窗口中删除一个目标,它可能是你需要的javascript代码,因此你必须调整你的问题。我理解,但我特别要求vbscript解决方案。如果我被要求使用javascript,这不会是一个问题,我只需要将我的代码从vbscript更改为javascript。我拥有的是一个HTA,它允许我键入url并单击提交,然后转到所述url。我还有一个vbscript,它允许我在上面放置一个.url快捷方式,然后它会转到它指定的网站。我正在寻找一种可能在hta上实现某种框的方法,当我将.url文件放到该框上时,我会运行vbscript。我不太清楚如何将两者结合起来。我知道它不是为hta实现的,但我见过一些其他hta文件允许使用vbscript,我只是不太擅长vbscript来调整它以满足我的需要。我有一个允许拖放的,但它不太有效,我不完全理解它。
Set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")

Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(strDesktop)

For Each f In fld.Files
    If f.Type = "Internet Shortcut" Then
        MsgBox f.Path & vbNewLine & ReadURL(f.Path)
    End If
Next

Function ReadURL(urlFile)
    With CreateObject("Scripting.FileSystemObject")
        With .OpenTextFile(urlFile, 1)
            .SkipLine
            ReadURL = (Split(.ReadLine, "="))(1)
        End With
    End With
End Function