Tested with Win Xp,Win 7
Code: Select all
listptr=0
result$=Space(270)
SHGetSpecialFolderLocation_(0,#CSIDL_DESKTOPDIRECTORY,@listptr)
SHGetPathFromIDList_(listptr,@result$)
Path$ = Trim(result$)
Linkn$ = "KCC.LNK" ;Link Name
Prog$ = "C:\WINDOWS\regedit.exe" ;Programme Name (With Full Path)
WorkDir$ = "C:\WINDOWS\" ;Working Directory
If OpenFile(0,Path$+"\temp.vbs")
CloseFile(0)
DeleteFile(Path$+"\temp.vbs")
EndIf
DeleteFile(Path$+"\KCC.LNK")
If CreateFile(0, Path$+"\temp.vbs")
WriteStringN(0, "Set oWS = WScript.CreateObject("+Chr(34)+"WScript.Shell"+Chr(34)+")")
WriteStringN(0, "sLinkFile = "+Chr(34)+Path$+"\"+Linkn$+Chr(34))
WriteStringN(0, "Set oLink = oWS.CreateShortcut(sLinkFile)")
WriteStringN(0, "oLink.TargetPath = "+Chr(34)+Prog$+Chr(34))
WriteStringN(0, "oLink.IconLocation = "+Chr(34)+Prog$+", 0"+Chr(34))
WriteStringN(0, "oLink.WindowStyle = "+Chr(34)+"3"+Chr(34)) ;#SW_SHOWNORMAL = 1 ,#SW_SHOWMINIMIZED = 2 ,#SW_SHOWMAXIMIZED = 3
WriteStringN(0, "oLink.WorkingDirectory = "+Chr(34)+WorkDir$+Chr(34))
WriteStringN(0, "oLink.Save")
CloseFile(0)
Else
MessageRequester("Error", "Error: can't write the file", 0)
EndIf
RunProgram("WScript.exe"," "+Path$+"\temp.vbs","",#PB_Program_Wait|#PB_Program_Hide)
DeleteFile(Path$+"\temp.vbs")