RunProgramm geht nicht ??

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
ChristianK
Beiträge: 77
Registriert: 13.12.2004 14:55

RunProgramm geht nicht ??

Beitrag 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
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag 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
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag 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ß!
Benutzeravatar
ChristianK
Beiträge: 77
Registriert: 13.12.2004 14:55

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Exabot
Beiträge: 63
Registriert: 10.12.2004 09:50

Beitrag von Exabot »

Hallo ChristianK,

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

Gruss
Spider
Benutzeravatar
ChristianK
Beiträge: 77
Registriert: 13.12.2004 14:55

Beitrag 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
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag 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
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag 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.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Antworten