    program
    include 'xshell.inc'
    MAP.
Hr                   HRESULT
COMIniter            CCOMIniter       !From SVCom to init COM
ShellLink            CShellLink

LnkName     string(260)

  code
  IF  NOT COMIniter.IsInitialised()
    HALT(,'OLE Initialization Failed', 'Error', ICON:Hand)
  END

  hr = ShellLink.init()
  if hr <> S_Ok
     HALT(,'ShellLink failed to init ' & hr )
  end

  hr = ShellLink.SetPath ('C:\WINDOWS\CALC.EXE')
  IF hr<>S_OK then Message('SetPath hr=' & hr ).

  hr = ShellLink.SetIconLocation ('C:\WINDOWS\CALC.EXE', 0)
  IF hr<>S_OK then Message('SetIconLocation hr=' & hr ).

  hr = ShellLink.SetDescription ('Calculator, natch!')
  IF hr<>S_OK then Message('SetDescription hr=' & hr ).

!    hr = ShellLink.SetHotKey ( )
!   IF hr<>S_OK then Message('SetHotKey hr=' & hr ).
  
  hr = ShellLink.SetWorkingDir ('C:\WINDOWS')
  IF hr<>S_OK then Message('SetWorkingDir hr=' & hr ).

  hr = ShellLink.SaveShortCut2Desktop ('Calculator XShell2.LNK',LnkName)
  IF hr<>S_OK then
     Message('SaveShortCut2Desktop hr=' & hr )
  else   
     Message('all done LnkName=' & LnkName )
  end   

