Verknüpfungen erstellen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Dicker Hobbit

Betreff: Verknüpfungen erstellen

BeitragDi, Apr 19, 2011 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute
Ich hab mal ne Frage ist es möglich mit Blitzbasic eine Verkknüpfung des Programms in einen anderen Ordner zu erstellen?? Very Happy

Danke schon mal im vorraus
Lg Dicker Hobbit

Xeres

Moderator

BeitragDi, Apr 19, 2011 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Viele Möglichkeiten: Entweder du informierst dich über das File-Format - z.B. bei www.wotsit.org nach ".lnk" suchen - und schreibst es selbst oder du benutzt ein consolen-Commando, oder du suchst die passende DLL (WinAPI) Funktion von www.msdn.com heraus.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Dicker Hobbit

BeitragDi, Apr 19, 2011 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
hi xeres
ich habe grade gegoogelt und bin aber nicht wirklich fündig geworden... kennst du den consolen command um eine verknüpfung zu erstellen ??
Lg Dicker Hobbit

Johannes´

BeitragDi, Apr 19, 2011 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe kurz gegoogelt und bin auf das gestoßen.

Es wird ein VB-Script Code genannt, der umgefähr so aussieht:
Code: [AUSKLAPPEN]
Const strProgramtitel="Verknüpfung"
Const strProgram ="C:\1.txt"
Dim objShortcut
Dim objShell
Set objShell= WScript.CreateObject("Wscript.Shell")
strLPfad=objShell.SpecialFolders("Desktop")
Set objShortcut=objShell.CreateShortcut(strLPfad & "\" & strProgramtitel & ".lnk")
objShortcut.TargetPath=strProgram
objShortcut.Description=strProgramtitel
objShortcut.Save


Dieses Programm kannst du als .vbs-Datei speichern und mit ExecFile aufrufen. Der Pfad und der Name sind natürlich anpassbar, der Speicherpfad, der hier der Desktop ist, auch.

Das ist vielleicht nicht die Ideallösung, sollte aber funktionieren.

Dicker Hobbit

BeitragDi, Apr 19, 2011 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die schnelle antwort ...das würde mein problem lösen idealerweise wäre es aber ohne extra datei Wink
ich werde mich mal in die Weiten des Internets begeben und sowas suchen... falls jemand eine möglichkeit kennt kann erdas natürlich gerne trotzdem noch posten


lg Dicker Hobbit

Johannes´

BeitragDi, Apr 19, 2011 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß zwar nicht, was dich an einer externen Datei stört, aber ich habe trotzdem mal die Forensuche bemüht:
https://www.blitzforum.de/foru...kn%FCpfung

EDIT
Oder du lässt dir die Script-Datei vom Programm direkt erstellen und sofort wieder löschen, ähnlich wie hier:
https://www.blitzforum.de/foru...kn%FCpfung

Dottakopf

BeitragDi, Apr 19, 2011 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ich möchte im allgemeinen noch darauf hinweisen das für solche Sachen immer Administrator rechte auf der Maschine benötigt werden.

Dies kann unter umständen bei mehreren Computerbenutzern(Accounts) an einer Maschine zu Problemen führen. Vorallem unter Windows7 werden "Hauptbenutzer - Rechte" nicht ausreichen um Scripte zu erstellen die dann wieder etwas erstellen und danach sich selbst wieder löschen.

Korrigiert mich wenn ich falsch liege Smile .


Sonst.. müsste das ganze eigentlich wie beschrieben funktionieren.


Gruß
Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Dicker Hobbit

BeitragDi, Apr 19, 2011 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
hey Leute
ich habe noch einmal ein Problem. Wenn ich jetzt das Vb Script erstellen lasse dann sagt mein lieber Debugger mir das es ein Fehler in der Codezeile 10 gab er behauptet das er den link nicht speichern konnte ...woran liegt das??

BlitzBasic: [AUSKLAPPEN]


CreateLink("Programm","C:\Users\Freund der Sonne\Desktop\spiel.bb" ,"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autostart")




Function CreateLink(Titel$,Programm$,DestFolder$,TempFile$="Temp.vbs")
Local file=WriteFile(TempFile$)
WriteLine file,"Const strProgramtitel="+Chr(34)+Titel$+Chr(34)
WriteLine file,"Const strProgram ="+Chr(34)+Programm$+Chr(34)
WriteLine file,"Dim objShortcut"
WriteLine file,"Dim objShell"
WriteLine file,"Set objShell= WScript.CreateObject("+Chr(34)+"Wscript.Shell"+Chr(34)+")"
WriteLine file,"strLPfad="+Chr(34)+DestFolder$+Chr(34)
WriteLine file,"Set objShortcut=objShell.CreateShortcut(strLPfad & "+Chr(34)+"\"+Chr(34)+" & strProgramtitel & "+Chr(34)+".lnk"+Chr(34)+")"
WriteLine file,"objShortcut.TargetPath= strProgram"
WriteLine file,"objShortcut.Description= "+Chr(34)+"strProgramtitel"+Chr(34)
WriteLine file,"objShortcut.Save"
CloseFile file
While FileSize(TempFile$)<(325+Len(Titel$)+Len(Programm$)+Len(DestFolder))
Wend
ExecFile TempFile$
While Not FileType(DestFolder$+"\"+Titel$+".lnk")=1
Wend
While FileType(TempFile$)=1
DeleteFile TempFile$
Wend
End Function

Johannes´

BeitragMi, Apr 20, 2011 9:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe das ganze mal getestet. Es scheint nicht zu funktionieren, weil man ersteinmal keine Schreibrechte auf den Ordner hat. In einem Ordner wie dem Desktop funktioniert es dagegen tadellos.
 

BBPro2

BeitragMi, Apr 20, 2011 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ein bißchen off topic, aber trotzdem:

du weißt, dass der autostart ordner je nach system ganz wo anders liegen kann,
bzw auch wenn der user sich bei seiner windowsinstallation dafür entschieden hat
das ganze nach j:\blub\ zu installieren, liegt er dort, oder?

also wenn das der echte code ist und das programm noch jemand außer dir verwenden
können soll solltest du dir zunächst den "echten" autostart ordner geben lassen
(geht irgendwie mit systemvariablen, gibts nen befehl für, fällt mir leider grad nicht ein,
irgendwer wird es aber sicher wissen^^)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group