einige von euch kennen vielleicht die CreateShellLink-Funktion die man hier im Forum und auch im CodeArchiv findet. Leider wurde gerade ein Programm von mir auf meinem Webspace gesperrt, weil auf virustotal.com 8 von 40 Virenscannern es als Trojaner erkennen. Wenn ich CreateShellLink rausnehme, hat kein Virenscanner etwas zu beanstanden. Hat jemand eine Idee, was ich tun könnte?
Hier die Version von CreateShellLink wie ich sie in meinem Code verwendet habe:
Code: Alles auswählen
Procedure.l CreateShellLink(Path$, Link$, Argument$, DESCRIPTION$, WorkingDirectory$, ShowCommand.l, HotKey.l, IconFile$, IconIndexInFile.l)
CoInitialize_(0)
If CoCreateInstance_(?CLSID_ShellLink,0,1,?IID_IShellLink,@psl.IShellLinkA) = 0
Set_ShellLink_preferences:
; The file TO which is linked ( = target for the Link )
;
psl\SetPath(Path$)
; Arguments for the Target
;
psl\SetArguments(Argument$)
; Working Directory
;
psl\SetWorkingDirectory(WorkingDirectory$)
; Description ( also used as Tooltip for the Link )
;
psl\SetDescription(DESCRIPTION$)
; Show command:
; SW_SHOWNORMAL = Default
; SW_SHOWMAXIMIZED = aehmm... Maximized
; SW_SHOWMINIMIZED = play Unreal Tournament
psl\SetShowCmd(ShowCommand)
; Hotkey:
; The virtual key code is in the low-order byte,
; and the modifier flags are in the high-order byte.
; The modifier flags can be a combination of the following values:
;
; HOTKEYF_ALT = ALT key
; HOTKEYF_CONTROL = CTRL key
; HOTKEYF_EXT = Extended key
; HOTKEYF_SHIFT = SHIFT key
;
psl\SetHotkey(HotKey)
; Set Icon for the Link:
; There can be more than 1 icons in an icon resource file,
; so you have to specify the index.
;
psl\SetIconLocation(IconFile$, IconIndexInFile)
ShellLink_SAVE:
; Query IShellLink For the IPersistFile interface For saving the
; shortcut in persistent storage.
If psl\QueryInterface(?IID_IPersistFile,@ppf.IPersistFile) = 0
;Save the link by calling IPersistFile::Save.
hres = ppf\Save(link$,#True)
result = 1
ppf\Release()
EndIf
psl\Release()
EndIf
CoUninitialize_()
ProcedureReturn result
DataSection
CLSID_ShellLink:
; 00021401-0000-0000-C000-000000000046
Data.l $00021401
Data.w $0000,$0000
Data.b $C0,$00,$00,$00,$00,$00,$00,$46
IID_IShellLink:
; DEFINE_SHLGUID(IID_IShellLinkA, 0x000214EEL, 0, 0);
; C000-000000000046
Data.l $000214EE
Data.w $0000,$0000
Data.b $C0,$00,$00,$00,$00,$00,$00,$46
IID_IPersistFile:
; 0000010b-0000-0000-C000-000000000046
Data.l $0000010B
Data.w $0000,$0000
Data.b $C0,$00,$00,$00,$00,$00,$00,$46
EndDataSection
EndProcedure