Kbase P91453: How to create windows desktop shortcuts from Progress 4GL?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  15/10/2008 |
|
Status: Unverified
GOAL:
How to create windows desktop shortcuts from Progress 4GL?
FACT(s) (Environment):
Windows
Progress 8.x
Progress 9.x
OpenEdge 10.x
FIX:
The following code uses the 'Windows Script Host object' and the windows 'FileSystemObject (FSO) object' to create a desktop notepad shortcut named "Notepad Shortcut Test":
DEF VAR hObjShell AS COM-HANDLE NO-UNDO.
DEF VAR hObjFSO AS COM-HANDLE NO-UNDO.
DEF VAR hObjSFolders AS COM-HANDLE NO-UNDO.
DEF VAR hObjDesktopFolder AS COM-HANDLE NO-UNDO.
DEF VAR cDeskTopDirectory AS CHAR NO-UNDO.
DEF VAR hShortCut AS COM-HANDLE NO-UNDO.
CREATE "WScript.Shell" hObjShell.
CREATE "Scripting.FileSystemObject" hObjFSO.
ASSIGN
hObjSFolders = hObjShell:SpecialFolders()
hObjDesktopFolder = hObjFSO:GetFolder(hObjSFolders:ITEM("AllUsersDesktop")).
IF NOT VALID-HANDLE(hObjDesktopFolder)
THEN hObjDesktopFolder = hObjFSO:GetFolder(hObjSFolders:ITEM("DeskTop")).
IF VALID-HANDLE(hObjDesktopFolder)
THEN cDeskTopDirectory = hObjDesktopFolder:Path.
ASSIGN
hShortCut = hObjShell:CreateShortcut(cDeskTopDirectory + "\Notepad Shortcut Test.lnk")
hShortCut:TargetPath = "Notepad.exe"
hShortCut:WindowStyle = 1
hShortCut:Hotkey = ""
hShortCut:IconLocation = "Notepad.exe, 0"
hShortCut:Description = "Notepad Shortcut Test"
hShortCut:WorkingDirectory = "E:\Temp".
hShortCut:Save().