#194864 - 2009-07-17 09:29 AM
Re: Copy url to %USERPROFILE%\desktop
[Re: Karon]
|
Mart
KiX Supporter
Registered: 2002-03-27
Posts: 4672
Loc: The Netherlands
|
DeathCertsOnline? Kinda creepy
.... Is there an easier way??
Yes there is. You can use the WSHShortcut UDF for this. See the example below. All you need to do is change the URL to the website. Do not change the WSHShortcut function itself because it is a UDF and it comes ready for use.
Break on
$rc = wshShortcut("DeathCertsOnline", "http://www.somewebsite.com")
;DO NOT MODIFY ANYTHING BELOW THIS LINE.
;IT IS A UDF AND COMES READY FOR USE.
; wshShortCut()
;
;Authors and Contributors:
; Shawn, Radimus, Al_Po,
; Richard Farthing, NTDOC
;
;Version:
; 1.3.4
;
;Action:
; Creates Shortcuts for files or Web pages
;
;Syntax:
; wshShortCut($shortcutname,$targetpath,optional $arguments, optional $startdir, optional $iconpath, optional $style, optional $Description)
;
;Parameters:
; SHORTCUTNAME Required. Name of Shortcut. If path is omitted, will be saved to desktop.
; TARGETPATH Required. The path the target point to. To ommit checking if path exists in the function, append the target path
; with ",1"
; ARGUMENTS Optional. Arguments appended to TARGETPATH
; STARTDIR Optional. Working Directory
; ICONPATH Optional. Path to Icon Library. To specify an icon other than the first, separate the icon path with
; ",#" where # represents the icon in the library.
; STYLE Optional. 1 = default, 3 = maximized window, 7 = minimized window
; DESCRIPTION Optional. Description or Comment about Shortcut
; HOTKEY Optional. Keyboard Hotkey. (Note: Shortcut must be saved to desktop or startmenu for Hotkey to function)
;
;Remarks:
; wshShortCut 1.3.4
; - Dimmed undimmed var
; wshShortCut 1.3.3
; - Added option to bypass TARGETPATH exist check on LNK shortcuts. Add ,1 to the end of your Targetpath to bypass
; See Example below.
; wshShortCut 1.3.2
; - Included Option for HotKey(.hotkey)
; wshShortCut 1.3.1
; - Bug Fixes when creating URL shortcuts
; wshShortCut 1.3
; - Attempts to create directory structure to shortcut if it does not exist
; wshShortcut 1.2:
; - Support for NoVarsinStrings
; - Checks for existence of TargetPath in .lnk files
; - Included option for Description (.description)
; wshShortcut 1.1:
; - fixes a logic bug in wshShortCut 1.0 so you can use more than icons 0-9 in a icon library on URLS.
; - Unless path is explicity stated in $ShortCutName, icons are created on the desktop
; - If .lnk or .url is omitted, UDF tries to determine the shortcut type, but defaults to .lnk if it can't figure it out.
; wshShortCut 1.0
; http://www.kixtart.org/ubbthreads/showfl...=true#Post81769
;
;Examples:
; $=wshShortcut("KiXtart Web Page","http://www.kixtart.org")
; $=wshShortcut("Notepad","%systemroot%\system32\notepad.exe")
; $=wshShortcut$=wshshortcut("Server1","\\Server1,1")
Function wshShortCut($shortcutname, $targetpath, optional $arguments, optional $startdir, optional $iconpath, optional $style, optional $description, optional $hotkey)
Dim $shell, $desktop, $shortcut, $index, $iconinfo, $iconindex, $scdir, $rc
$wshshortcut = 1
$shell = CreateObject("wscript.shell")
If $shell
If UCase(Right($shortcutname, 4)) = ".URL" Or UCase(Right($shortcutname, 4)) = ".LNK"
;do nothing
Else
If UCase(Left($targetpath, 5)) = "HTTP:" Or UCase(Left($targetpath, 6)) = "HTTPS:" Or UCase(Left($targetpath, 4)) = "FTP:"
$shortcutname = $shortcutname + ".url"
Else
$shortcutname = $shortcutname + ".lnk"
EndIf
EndIf
If InStr($targetpath, ",")
$targetpath = Split($targetpath, ",")[0]
Else
If InStr($shortcutname, ".lnk") And Not Exist($targetpath)
Exit 2
EndIf
EndIf
If InStr($shortcutname, "\") = 0
$Desktop = $shell.SpecialFolders("Desktop")
$shortcutname = $desktop + "\" + $shortcutname
Else
$scdir = SubStr($shortcutname, 1, InStrRev($shortcutname, "\"))
If Not Exist($scdir)
MD $scdir
If @error
Exit @error
EndIf
EndIf
EndIf
$shortcut = $shell.createshortcut($shortcutname)
If $shortcut
$shortcut.targetpath = $targetpath
If $iconpath And InStrRev($shortcutname, ".lnk")
$shortcut.iconlocation = $iconpath
EndIf
If $arguments
$shortcut.arguments = $arguments
EndIf
If $startdir
$shortcut.workingdirectory = $startdir
EndIf
If $style
$shortcut.windowstyle = $style
EndIf
If $description And InStrRev($shortcutname, ".lnk")
$shortcut.description = $description
EndIf
If $hotkey
$shortcut.hotkey = $hotkey
EndIf
$shortcut.save
If @error
Exit @error
EndIf
If InStrRev($shortcutname, ".url") And $iconpath
$index = InStrRev($iconpath, ",")
If $index = 0
$iconindex = 0
Else
$iconindex = Split($iconpath, ",")[1]
$iconpath = Split($iconpath, ",")[0]
EndIf
$rc = WriteProfileString($shortcutname, "InternetShortcut", "IconFile", $iconpath)
$rc = WriteProfileString($shortcutname, "InternetShortcut", "IconIndex", $iconindex)
EndIf
$shortcut = 0
$wshshortcut = 0
Else
Exit @error
EndIf
Else
Exit @error
EndIf
EndFunction
_________________________
Mart
- Chuck Norris once sold ebay to ebay on ebay.
|
Top
|
|
|
|
#194866 - 2009-07-17 02:36 PM
Re: Copy url to %USERPROFILE%\desktop
[Re: Mart]
|
Karon
Getting the hang of it
Registered: 2009-07-16
Posts: 87
Loc: Texas
|
So Mart, Please correct me if I wrong, but - I thing it might should read the following: If ingroup("SC_TESTING") wshShortCut (DeathCertsOnline, %USERPROFILE%\Desktop) ENDIF
The url DeathCertsOnline is actually https://ter2.dshs.state.tx.us:8443/ThinTXDeathTest/src/LoginModule/Maintest.html
this is contained in the ad location and the DeathCertsOnline is the internet shortcut name I have given to it.
Thanks so much!!
|
Top
|
|
|
|
#194875 - 2009-07-17 03:14 PM
Re: Copy url to %USERPROFILE%\desktop
[Re: Karon]
|
Mart
KiX Supporter
Registered: 2002-03-27
Posts: 4672
Loc: The Netherlands
|
No problem.
Below is a step by step description of what you need to do to get this working.
-1 fire up a text editor (notepad, notepad++, etc... a kix editor would be even better). -2 create a new file and paste the code below in it.
If InGroup("SC_TESTING")
$rc = wshShortCut("DeathCertsOnline", "https://ter2.dshs.state.tx.us:8443/ThinTXDeathTest/src/LoginModule/Maintest.html")
EndIf
;DO NOT MODIFY ANYTHING BELOW THIS LINE.
;IT IS A UDF AND COMES READY FOR USE.
; wshShortCut()
;
;Authors and Contributors:
; Shawn, Radimus, Al_Po,
; Richard Farthing, NTDOC
;
;Version:
; 1.3.4
;
;Action:
; Creates Shortcuts for files or Web pages
;
;Syntax:
; wshShortCut($shortcutname,$targetpath,optional $arguments, optional $startdir, optional $iconpath, optional $style, optional $Description)
;
;Parameters:
; SHORTCUTNAME Required. Name of Shortcut. If path is omitted, will be saved to desktop.
; TARGETPATH Required. The path the target point to. To ommit checking if path exists in the function, append the target path
; with ",1"
; ARGUMENTS Optional. Arguments appended to TARGETPATH
; STARTDIR Optional. Working Directory
; ICONPATH Optional. Path to Icon Library. To specify an icon other than the first, separate the icon path with
; ",#" where # represents the icon in the library.
; STYLE Optional. 1 = default, 3 = maximized window, 7 = minimized window
; DESCRIPTION Optional. Description or Comment about Shortcut
; HOTKEY Optional. Keyboard Hotkey. (Note: Shortcut must be saved to desktop or startmenu for Hotkey to function)
;
;Remarks:
; wshShortCut 1.3.4
; - Dimmed undimmed var
; wshShortCut 1.3.3
; - Added option to bypass TARGETPATH exist check on LNK shortcuts. Add ,1 to the end of your Targetpath to bypass
; See Example below.
; wshShortCut 1.3.2
; - Included Option for HotKey(.hotkey)
; wshShortCut 1.3.1
; - Bug Fixes when creating URL shortcuts
; wshShortCut 1.3
; - Attempts to create directory structure to shortcut if it does not exist
; wshShortcut 1.2:
; - Support for NoVarsinStrings
; - Checks for existence of TargetPath in .lnk files
; - Included option for Description (.description)
; wshShortcut 1.1:
; - fixes a logic bug in wshShortCut 1.0 so you can use more than icons 0-9 in a icon library on URLS.
; - Unless path is explicity stated in $ShortCutName, icons are created on the desktop
; - If .lnk or .url is omitted, UDF tries to determine the shortcut type, but defaults to .lnk if it can't figure it out.
; wshShortCut 1.0
; http://www.kixtart.org/ubbthreads/showfl...=true#Post81769
;
;Examples:
; $=wshShortcut("KiXtart Web Page","http://www.kixtart.org")
; $=wshShortcut("Notepad","%systemroot%\system32\notepad.exe")
; $=wshShortcut$=wshshortcut("Server1","\\Server1,1")
Function wshShortCut($shortcutname, $targetpath, optional $arguments, optional $startdir, optional $iconpath, optional $style, optional $description, optional $hotkey)
Dim $shell, $desktop, $shortcut, $index, $iconinfo, $iconindex, $scdir, $rc
$wshshortcut = 1
$shell = CreateObject("wscript.shell")
If $shell
If UCase(Right($shortcutname, 4)) = ".URL" Or UCase(Right($shortcutname, 4)) = ".LNK"
;do nothing
Else
If UCase(Left($targetpath, 5)) = "HTTP:" Or UCase(Left($targetpath, 6)) = "HTTPS:" Or UCase(Left($targetpath, 4)) = "FTP:"
$shortcutname = $shortcutname + ".url"
Else
$shortcutname = $shortcutname + ".lnk"
EndIf
EndIf
If InStr($targetpath, ",")
$targetpath = Split($targetpath, ",")[0]
Else
If InStr($shortcutname, ".lnk") And Not Exist($targetpath)
Exit 2
EndIf
EndIf
If InStr($shortcutname, "\") = 0
$Desktop = $shell.SpecialFolders("Desktop")
$shortcutname = $desktop + "\" + $shortcutname
Else
$scdir = SubStr($shortcutname, 1, InStrRev($shortcutname, "\"))
If Not Exist($scdir)
MD $scdir
If @error
Exit @error
EndIf
EndIf
EndIf
$shortcut = $shell.createshortcut($shortcutname)
If $shortcut
$shortcut.targetpath = $targetpath
If $iconpath And InStrRev($shortcutname, ".lnk")
$shortcut.iconlocation = $iconpath
EndIf
If $arguments
$shortcut.arguments = $arguments
EndIf
If $startdir
$shortcut.workingdirectory = $startdir
EndIf
If $style
$shortcut.windowstyle = $style
EndIf
If $description And InStrRev($shortcutname, ".lnk")
$shortcut.description = $description
EndIf
If $hotkey
$shortcut.hotkey = $hotkey
EndIf
$shortcut.save
If @error
Exit @error
EndIf
If InStrRev($shortcutname, ".url") And $iconpath
$index = InStrRev($iconpath, ",")
If $index = 0
$iconindex = 0
Else
$iconindex = Split($iconpath, ",")[1]
$iconpath = Split($iconpath, ",")[0]
EndIf
$rc = WriteProfileString($shortcutname, "InternetShortcut", "IconFile", $iconpath)
$rc = WriteProfileString($shortcutname, "InternetShortcut", "IconIndex", $iconindex)
EndIf
$shortcut = 0
$wshshortcut = 0
Else
Exit @error
EndIf
Else
Exit @error
EndIf
EndFunction
-3 Make sure that you are a member of the SC_TESTING group. -4 Run the script manually on your system. -5 The new shortcut should be on your desktop. -6 make this new script a part of your logon script or call it from your logon script. -7 Everybody that is a member of the SC_TESTING group will now get the shortcut on the desktop the next time they logon.
There is one issue with this: Every time a member of the SC_TESTING logs on he/she will get the shortcut. You can skip creating the shortcut if it is there already but let’s look at that later and get the basics running first.
_________________________
Mart
- Chuck Norris once sold ebay to ebay on ebay.
|
Top
|
|
|
|
#194877 - 2009-07-17 05:06 PM
Re: Copy url to %USERPROFILE%\desktop
[Re: Karon]
|
Glenn Barnas
KiX Supporter
Registered: 2003-01-28
Posts: 4396
Loc: New Jersey
|
There are many ways to handle UDFs. Some create a central share and reference them via CALL '\\server\UDFshare\function.udf' statements, which load the UDFs dynamically each time the script runs - the advantage is the UDFs are centrally maintained and the script always gets the latest copy of the UDF. The disadvantage is that the script always gets the latest version of the UDF. Basically, with a central, dynamic repository, you need to test every dependent script whenever you change a UDF.
Others (like me) like to keep the UDFs on a central share, but bind them into our code during development. Some do this via copy/paste, and some of us use my KGen tool to enumerate your script and dynamically build a script with all UDF dependencies included. This freezes the build with the current UDF versions, which allows you to take your time to test dependent scripts. KGen also runs Sanity on the finished script, looking for common coding errors such as missing EndIf, Loop, & Done clauses and mismatched quotes and parens.
It really comes down to what you're comfortable with in your environment. Find a way that works for you and stick with it.
Glenn
_________________________
Actually I am a Rocket Scientist!
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
0 registered
and 507 anonymous users online.
|
|
|