runprogram mit #PB_Program_Hide flag

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

runprogram mit #PB_Program_Hide flag

Beitrag von jpd »

Hi,

mit diesen kleinen beispiel versuche ich eine batch datei auszuführen und und diese möglicherweise nicht sichtbar.

Code: Alles auswählen

Define param.s
Define SecondParam.s

SecondParam=""

param=ProgramParameter()
SecondParam=ProgramParameter()

Debug param
Debug SecondParam
If FileSize(param) > 0
  RunProgram(GetFilePart(param),Chr(34)+SecondParam+Chr(34),GetPathPart(param),#PB_Program_Hide)
EndIf  
als erster parameter übergebe ich die batch-datei als zweiter parameter die log-datei

ohne den beipiel code zu speichern also (new*) füge ich in compiler options bei compiler/run | executable commandline die batchdatei und die zu generierende log datei
zb. c:\test\test.bat c:\test\ipconfig.log.

die beispiel batch

Code: Alles auswählen

´
@echo off
ipconfig > %1

also führt ipconfig und piped den ergebnis in c:\test\ipconfig.log 2 ein..

in diesen zustand funzioniert einwandfrei.

versuche ich die exe zu generieren wird nachgefragt nach einer pb-name für den beispiel danach dem name der exe, soweit so gut.

wenn ich die exe ausführe wird die batch datei nicht mehr versteckt ausgeführt und die generierte-log-datei ist leer.

wenn ich nun versuche wieder über pb den code zu debuggen ist das ergebnis gleich wie bei der exe.
Nur wenn ich bei pb file new sage und den code erneut einfüge funzioniert.

kann mir jemand erklären was ich falsch mache.

Vielen dank
jpd
PB 5.10 Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: runprogram mit #PB_Program_Hide flag

Beitrag von Kiffi »

jpd hat geschrieben:wenn ich die exe ausführe wird die batch datei nicht mehr versteckt ausgeführt und die generierte-log-datei ist leer.
aber Du übergibst der EXE beim Starten schon die beiden Parameter, oder?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Re: runprogram mit #PB_Program_Hide flag

Beitrag von jpd »

ja natürlich..

zb.

meineexe c:\test\test.bat c:\test\ipconfig.log

das seltasme ist bevor ich die pb datei nicht speicher und als neue datei benutze funzioniert einwand frei.
als exe geht nicht und nach speichern des beispiel mit name geht dann auch nicht mehr.

Ciao
jpd
PB 5.10 Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: runprogram mit #PB_Program_Hide flag

Beitrag von Kiffi »

gib mal das zu startende Programm mit vollem Pfad an;
nicht nur GetFilePart().

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Re: runprogram mit #PB_Program_Hide flag

Beitrag von jpd »

Hallo Kiffi,

Guten Morgen.

dein vorschlag verschlimm-bessert mein problem .. :)
jetzt wird in alle drei fälle eine log-Datei groß 0 generiert, falls ich den flag #pb_hide weg lasse dann funzioniert in alle fälle.

Ich experimentire weiter ..

Vielen Dank!
jpd
PB 5.10 Windows 7 x64
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Re: runprogram mit #PB_Program_Hide flag

Beitrag von jpd »

Hallo,
habe festgestellt das unter Win XP mein beispiel einwandfrei funzioniert.
Unter Win 7 32/64 bit solange ich mein beispiel nicht speicher funzioniert wenn ich den speicher funzioniert nicht mehr.

kann jemand mit Win 7 dieses vehralten bestätigen?

Ciao
jpd
PB 5.10 Windows 7 x64
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: runprogram mit #PB_Program_Hide flag

Beitrag von bobobo »

Hab kein Win7 .. aber ..
ein RunProgram() mit einer BatchDatei ruft ja eigentlich auch nur cmd auf das
dann wiederum die Batchdatei versucht auszuführen. das verknotet das ganze
vermutlich etwas.

Eventuell rufst Du die Batchdatei mal über cmd /c auf also

Code: Alles auswählen

RunProgram("cmd" , "/C "+Chr(34)+PfadUndNameDerBatchDatei.s+Chr(34) ,Verzeichnis.s,#PB_Program_Hide...)
Ruf doch mal 'cmd /c help cmd' in der Eingabeaufforderung (falls es sowas bei Win7 überhaupt gibt :) )auf
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Re: runprogram mit #PB_Program_Hide flag

Beitrag von jpd »

Hi bobobo,

leider hilft auch nicht weiter,

währe super wenn jemand mit Win 7 32/64 bit testen würde.

habe mit shellexecute und createprocess keine probleme das ganze zu verstecken..

scheint ein bug zu sein muss ich näher untersuchen bevor ich ein bug report mache.

Ciao und Danke
jpd
PB 5.10 Windows 7 x64
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Re: runprogram mit #PB_Program_Hide flag

Beitrag von uweb »

Ich bin mir nicht sicher ob ich dich in allem richtig verstanden habe, aber ich bekomme unter Windows 7 64bit mit Executable-Format Console sowohl mit dem 32bit- als auch mit dem 64bit-Compiler auch eine leere Log-Datei. Allerdings nur wenn ich die erste Zeile deiner batch weg lasse. Mit dieser Zeile erzeugt sie eine sinnvolle Log-Datei wenn ich sie direkt aufrufe, aber mit Fehlermeldung.

Code: Alles auswählen

C:\x>001 001.log

C:\x>┤
Der Befehl "┤" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\x>
War das nur ein Tippfehler oder war das Absicht? Mit Batch habe ich schon lange nichts mehr gemacht.
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Re: runprogram mit #PB_Program_Hide flag

Beitrag von Elektrolurch »

Hi

ich kann nur Bestätigen, dass das Program + Batch im Interpreter läuft, aber compiliert nicht.
Leider habe ich dafür auch keine Erklärung.

Oder kann es sein, dass es mit den Rechten zu tun hat.
PB läuft ja mit Adminrechten.
Das kompilierte Programm tut dies ja nicht zwangsläufig und die ausgeführt Batch auch nicht.

BYe André
Wer Rechtschreibfehler findet darf sie ruhig behalten, ich brauche sie nicht mehr, ich habe noch genug davon.
BildBildBild
Antworten