答案:微软给了我们一个创建快捷方式的例子,但如果直接用在ASP中会提示存在一个错误。
例子原码如下(VBscript格式):
' Windows Script Host Sample Script
'
' ------------------------------------------------------------------------
' Copyright (C) 1996-1997 Microsoft Corporation
'
' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Microsoft has no warranty,
' obligations or liability for any Sample Application Files.
' ------------------------------------------------------------------------
' This sample demonstrates how to use the WSHShell object to create a shortcut
' on the desktop.
L_Welcome_MsgBox_Message_Text = "此脚本将在您的桌面上创建 Notepad 的快捷方式。"
L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 范例"
Call Welcome()
' ********************************************************************************
' *
' * Shortcut related methods.
' *
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
'注意上面这一句,不知是写错了还是微软能使其运行,反正我一运行就提示没有对象。我将之改成了:Set WSHShell = server.CreateObject("WScript.Shell")
Dim MyShortcut, MyDesktop, DesktopPath
' Read desktop path using WshSpecialFolders object
DesktopPath = WSHShell.SpecialFolders("Desktop")
' Create a shortcut object on the desktop
Set MyShortcut = WSHShell.CreateShortcut(DesktopPath & "\notepad 的快捷方式.lnk")
' Set shortcut object properties and save it
MyShortcut.TargetPath = WSHShell.ExpandEnvironmentStrings("%windir%\notepad.exe")
MyShortcut.WorkingDirectory = WSHShell.ExpandEnvironmentStrings("%windir%")
MyShortcut.WindowStyle = 4
MyShortcut.IconLocation = WSHShell.ExpandEnvironmentStrings("%windir%\notepad.exe, 0")
MyShortcut.Save
WScript.Echo "在桌面上已存在 Notepad 的快捷方式。"
' ********************************************************************************
' *
' * Welcome
' *
Sub Welcome()
Dim intDoIt
intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _
vbOKCancel + vbInformation, _
L_Welcome_MsgBox_Title_Text )
If intDoIt = vbCancel Then
WScript.Quit
End If
End Sub
下面是我改造后用在ASP中的。
<%L_Welcome_MsgBox_Message_Text = "此脚本将在您的桌面上创建 Notepad 的快捷方式。"
L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 范例"
response.write L_Welcome_MsgBox_Message_Text
Dim WSHShell
Set WSHShell = server.CreateObject("WScript.Shell")
Dim MyShortcut, MyDesktop, DesktopPath
DesktopPath = WSHShell.SpecialFolders("Desktop")
Set MyShortcut = WSHShell.CreateShortcut(DesktopPath & "\notepad 的快捷方式.lnk")
MyShortcut.TargetPath = WSHShell.ExpandEnvironmentStrings("%windir%\notepad.exe")
MyShortcut.WorkingDirectory = WSHShell.ExpandEnvironmentStrings("%windir%")
MyShortcut.WindowStyle = 4
MyShortcut.IconLocation = WSHShell.ExpandEnvironmentStrings("%windir%\notepad.exe, 0")
MyShortcut.Save
response.write "<BR>快捷方式创建完毕!"
%>
已经在我的NT4上测试通过。
上一个:ASP之在服务器端创建快捷方式二之例子。
下一个:支持中文的把普通字符串转成二进制字符串的函数