Erstellen von .LNK (falsche Parameterübergabe) Wer hilft?
Verfasst: 27.08.2005 00:46
Das folgende Listing erklärt sich selbst.
Die Parameterübergabe bekomme ich aber nicht hin.
(.s,.s,.s,.s).l wie soll das gehen?
;das Programm ist lauffähig
Wer kann helfen
Die Parameterübergabe bekomme ich aber nicht hin.
(.s,.s,.s,.s).l wie soll das gehen?
;das Programm ist lauffähig
Code: Alles auswählen
;erstellen einer Verknüpfungs Datei (.LNK)
;in PureBasic (Topos)
;peterlorenzkadow@compuserve.de
Ldll5$ = "vb5stkit.dll"
Ldll6$ = "vb6stkit.dll"
sParent.s="" ;nur bei vb6stkit.dll notwendig
fPrivate.l=0 ;nur bei vb6stkit.dll notwendig
lpstrFolderName.s = "C:\" ;Link hier erstellen
lpstsLinkName.s = "Install.lnk" ;Linkname
lpstrLinkPath.s = "C:\BASIC\Install.EXE" ;zu verlinkende Datei
lpstrLinkArguments.s = "" ;Argumente
Result = OpenLibrary(1, Ldll5$) ;.dll vb5stkit.dll öffnen
If Result=0
Result = OpenLibrary(1, Ldll6$) ;.dll vb6stkit.dll öffnen
If Result = 0
Goto enddll
Else
crfunk = IsFunction(1, "fCreateShellLink") ;prüfen an welcher Position Funktion vorhanden ist
MessageRequester("Meldung",Ldll6$+" gefunden! "+Chr(10)+"Die Schnellzugriffs- Adresse lautet "+Str(crfunk),0)
;jetzt wird die Funktion zum erstellen des Link aufgerufen!
;Die Parameter sollen folgendes Format haben:
;(STRING,STRING,STRING,STRING,LONG,STRING)AS LONG
;Haben sie aber nicht! Wie bekomme ich das nur hin?
Result = CallFunction(1,"fCreateShellLink",lpstrFolderName,lpstsLinkName,lpstrLinkPath,lpstrLinkArguments,fPrivate,sParent)
;Der Schnellzugriff würde wie folgt lauten:
;Result = CallFunctionFast(crfunk,lpstrFolderName,lpstsLinkName,lpstrLinkPath,lpstrLinkArguments,fPrivate,sParent)
MessageRequester("Ergebnis","Die Funktion <fCreateShellLink> meldet: "+Str(Result),0)
If Result = 0
MessageRequester("Fehler","Funktionsaufruf fehlgeschlagen! ",0)
EndIf
EndIf
Else
crfunk = IsFunction(1, "fCreateShellLink")
MessageRequester("Meldung",Ldll5$+" gefunden! "+Chr(10)+"Die Schnellzugriffs- Adresse lautet "+Str(crfunk),0)
;jetzt wird die Funktion zum erstellen des Link aufgerufen!
;Die Parameter sollen folgendes Format haben:
;(STRING,STRING,STRING,STRING)AS LONG
;Haben sie aber nicht! Wie bekomme ich das nur hin?
Result = CallFunction(1,"fCreateShellLink",lpstrFolderName,lpstsLinkName,lpstrLinkPath,lpstrLinkArguments)
MessageRequester("Ergebnis","Die Funktion <fCreateShellLink> meldet: "+Str(Result),0)
If Result = 0
MessageRequester("Fehler","Funktionsaufruf fehlgeschlagen! ",0)
EndIf
EndIf
;----------------------------------------------------------------------------------------
dlfunk = IsFunction(1, "fRemoveShellLink") ;ermitteln der Zugrifsadresse der Funktion Link entfernen
If dlfunk =0
MessageRequester("Fehler","Funktion Link entfernen <fRemoveShellLink> nicht gefunden!",0)
Else
MessageRequester("Meldung","Funktion Link entfernen <fRemoveShellLink> ist vorhanden an Adresse: "+Str(dlfunk),0)
;Aufruf der Funktion LINK ENTFERNEN
;auch hier der selbe Fehler (String,Sring).l
Result = CallFunction(1,"fRemoveShellLink",lpstrFolderName,lpstsLinkName)
;Der Schnellzugriff würde wie folgt lauten:
;Result = CallFunctionFast(dlfunk,lpstrFolderName,lpstsLinkName) ? mit bekannten Fehler
MessageRequester("Fehler?","Der Aufruf der Funktion <fRemoveShellLink> meldet "+Str(Result)+" Warum ?",0)
EndIf
CloseLibrary(1)
enddll:
End