将快捷方式拖放到HTA上

时间:2013-04-08 14:41:58

标签: vbscript hta

我正在尝试构建一个本地HTA(HTML应用程序),它将把我发送到我指定的网站。我已经完成了大部分工作,因为它目前允许我键入地址并选择是在Internet Explorer还是Firefox中打开该URL(正常和私有)。

我要问的是,如果有一个vbscript我可以添加到我的HTA上,这将允许我拖放桌面上的快捷方式并单击按钮来执行相同操作。从本质上讲,我希望它与谷歌图像搜索类似。就像您可以输入或拖放图像进行搜索。这只是我快速打开我保存快捷方式的网页。我知道我可以使用收藏夹选项,但我经常使用许多不同的计算机,而且我的闪存驱动器上有我所有的东西。

2 个答案:

答案 0 :(得分:1)

你想拖动文件(在这种情况下为url快捷方式)并将其放在打开的.hta窗口中?如果是这样,那么看起来您正在寻找的内容尚未在HTML应用程序中实现。

修改

如果您有最新的Internet Explorer版本(9+),那么您可以使用HTML5本机 drag and drop功能。由于我在XP上IE8是最高版本,我无法帮助 在那次挑战中。

如果那么困难或不适用那么可以考虑计划B,哪里可以发挥作用 在启动时扫描Desktop *.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"> 文件,并在Select元素中填充它们,这样你就会结束:

OnChange

...并且可以通过在Head部分中添加处理程序来控制Sub urlList_OnChange() Document.All.urlAddress.Value = _ Me.Options(Me.selectedIndex).Value End Sub 事件:

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

这是一个快速摘录。

{{1}}

答案 1 :(得分:0)

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

http://blogs.technet.com/b/heyscriptingguy/archive/2005/04/20/how-can-i-pass-command-line-variables-to-an-hta-when-it-starts.aspx