Seite 1 von 1

RunProgramm geht nicht ??

Verfasst: 13.12.2004 14:58
von ChristianK
Hi leute

Ich habe mir auf dem desktop Verknüpfungen mit verschiedenen Internetdienstanbietern angelegt die ich je nach Tageszeit wenn ich ins Internet will auswähle. Ich möchte mir jetzt ein PB Programmm machen dass selbständig den optimalen Anbieter auswählt. Mein Versuch,eine Verküpfung mit

Code:
RunProgram("C:\Dokumente und Einstellungen\All Users\Desktop\Arcor")

zu starten geht nicht. PB sagt er kann die Datei nicht finden oder "Falsche Parameter" etc. Geht das überhaupt mit RunProgramm() oder muss ich da einen APIAufruf machen ?
Wenn ich mir die Eigenschaften der Verknüpfung ansehe,dann zeigen die nicht wie üblich auf ein Programm sondern haben nur einen Zahlencode??
hoffentlich kann mir jemand von euch helfen

Christian

Verfasst: 13.12.2004 15:15
von Laurin
Ein Verknüpfung ist etwas anders wie ein normales Programm.

Verknüpfungen haben entweder die Dateiendung *.pif (DOS) oder *.lnk (Win).
Dem entsprechend:

Code: Alles auswählen

RunProgram("C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.pif") 
oder
RunProgram("C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.lnk") 
Sollte das auch nicht funktionieren, probiere es mit "start":

Code: Alles auswählen

RunProgram("start C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.pif") 
oder
RunProgram("start C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.lnk") 
Möglicherweise musst du auch statt "start" einfach "run" hinschreiben.


Greetz Laurin

Verfasst: 13.12.2004 15:17
von bluejoke
versuchs mal mit *.lnk , soll heißen du machst der Verknüpfung noch die richtige Endung hin


EDIT: hmm, jetzt hab ich kurz was für meine Mutter gemacht, und derweil antwortet hier schon jemand. Gemeinheit! Wenn ich mal was weiß!

Verfasst: 13.12.2004 17:12
von ChristianK
Danke leute,

aber leider hilft nichts. Habe alle Kombinationen mit .Ink + .pif mit start und mit run ausprobiert, aber nichts geht. Immer der gleiche Fehler, daß er die Datei nicht findet.

Eine Verknüpfung mit z.B.Excel oder Word kann ich auf die art so starten, aber keine Internetverbindung. Das ist genaugenommen ja kein Programm. sondern eine Netzwerkverbindung. Ich verstehe nur nicht wieso ich diese Verknüpfung mit einem Dopelklick auf dem Desktop starten kann aber nicht mit RunProgramm.

Verfasst: 13.12.2004 18:04
von ts-soft
Die entsprechenden Programme zu den Verknüpfungen findest Du wahrscheinlich unter C:\Programme. Mußte alle Ordner die in Frage kommen durchsuchen und entsprechende Exe finden. Beachte das diese Programme evtl. Aufrufparameter brauchen. Also suchen und testen.

Verfasst: 13.12.2004 18:14
von Exabot
Hallo ChristianK,

Verknüpfungen enden mit Lnk,
nicht Ink!
oder nur Tippfehler?

Gruss
Spider

Verfasst: 14.12.2004 13:25
von ChristianK
Danke für eure Tips !
Tatsächlich, hatte versehentlich in meinem Programm ".ink" eingegeben statt".LNK". Gut aufgepasst Spider !
Also anscheinend findet er nun die Verknüpfung, aber es kommt immer noch eine Fehlermeldung. Ich weis aber nicht ob von Purebasic oder von Windows. Die Fehlermeldung lautet:

--------------------------------------------------------
"C:\Dokumente und Einstellungen\All Users\Desktop\Arcor"

Falscher Parameter
--------------------------------------------------------

Als parameter habe ich den Loginname und Password und TelNr angegeben, schon in allen Kombinationen, z.b. getrennt mit Leerzeichen oder mit "/" oder mit chr(13), aber immer ds gleiche Ergebnis. Oder sind ganz andere Parameter gemeint ? Im Handbuch steht unter RunProgram() komischerweise nix über die Parameter. was meint das Handbuch mit WorkingDirectory ? Also das Handbuch ist mir keine Hilfe.

Mein Programm schaut jetzt so aus:

Code:
a$="C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.LNK"
p$="arcor internet 01920785" ;loginname, password, TelNr
WD$=""
RunProgram(a$,p$,WD$)

seht ihr da einen fehler ?

Gruss Christian

Verfasst: 14.12.2004 13:37
von nco2k
wieso startest du eine verknüpfung?! anhand der verknüpfung (oder auch registry) weisst du ja wo das programm liegt. :?

c ya,
nco2k

Verfasst: 14.12.2004 15:39
von Laurin
@nco2k:
Wenn ich das richtig sehe und deute, ist das ein Link auf eine DFÜ-Verbindung (Arcor ist Internetanbieter). Also nix mit Registry und Ich-kenne-ja-das-Verzeichnis. So einfach ist das dann nicht, da DFÜ eigendlich kein Verzeichnis ist.

@ChristianK:
Versuche mal die 8.3-Schreibweise (DOS :mrgreen: ) und alles in Anführungszeichen zu setzen:

Code: Alles auswählen

; 8.3 DOS
a$="C:\Dokume~1\AllUsers\Desktop\Arcor.LNK" ;hier ist die Änderung
p$="arcor internet 01920785" ;loginname, password, TelNr
WD$=""
RunProgram(a$,p$,WD$)

oder

; Gänsefüßchen ^^
a$=Chr(34)+"C:\Dokumente und Einstellungen\All Users\Desktop\Arcor.LNK"+Chr(34) ; hier ist die Änderung
p$="arcor internet 01920785" ;loginname, password, TelNr
WD$=""
RunProgram(a$,p$,WD$)  
Chr(34) erzeugt ein "-Zeichen im String. Normal könnte man den nicht da rein schreiben.

Hoffentlich hilft das.


Greetz Laurin

Edit: Weil ich gerade gelesen habe, dass mittlerweile nur "Falscher Parameter" zurückkommt, hm.., du musst wohl durchprobieren, wie die Parameter angeordnet werden müssen. Vielleicht muss auch kein Parameter übergeben werden. Da hilft nur probieren.