| |
|
|
E.T. | Moin, sieht quelqu'un une Possibilité, qui Ausgaben eines Konsolen-Programmes (quelle oui im cmd-la fenêtre sommes), im eigenen Programme-la fenêtre einzubinden ?? mon jetzige Umsetzung, cela cmd-la fenêtre einzufangen, qui Taille anzupassen et cet ensuite unterhalb meines Programme-Fensters anzudocken comme mir pas du tout: je dois toujours cela Fremdfenster avec surveiller (Größenänderung, Déplacer, minimieren, wiederherstellen etc.), et là cela Konsolen-Programme droite Hardware- et grenier-Lastig ist, venez irgendwie alles pas so droite hinterher . et qui cmd-la fenêtre sommes aussi dans chacun Win-Version encore unterschiedlich grand...
alors irgendwie cela cmd-la fenêtre dans mon Programme-la fenêtre intégrer, allez quelque chose comme ??? Hab jusqu'à maintenant aucun allumage concept...
cela Konsolen-Proggi pouvoir aussi aucun Ausgaben dans un .log-Dossier ou bien so, quelle je anzapfen pourrait (cela Prog ist pas de mir, je veux seulement ne surface en supplément, là qui service komplett per Start-paramètre funzt et cela Ansprechen qui Laufwerke comment chez SCSI (1:0:0, 0:1:0 etc.) doch arg à qui Nerven allez, jusqu'à on cela richtige LW hat...). |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 11.04.2009 ▲ |
|
|
|
|
Andreas Miethe
| So quelque chose ? KompilierenMarqueSéparation $H Windows.ph
$H Structs.ph
Struct PROCESS_INFORMATION = ~PROCESS_INFORMATION
Struct SECURITY_ATTRIBUTES = ~SECURITY_ATTRIBUTES
Struct STARTUPINFO = ~STARTUPINFO
DEF &NORMAL_PRIORITY_CLASS $20
DEF &STARTF_USESTDHANDLES $100
DEF &STARTF_USESHOWWINDOW $1
CLS ~GetSysColor(~COLOR_BTNFACE)
SetDialogFont ~GetStockObject(~ANSI_VAR_FONT)
Var Ende& = 0
Var Multi& = Create(MultiEdit,%hwnd,,1,10,500,400)
Var Button& = Create(Button,%hwnd,Start,540,10,80,24)
Var Button1& = Create(Button,%hwnd,Ende,540,40,80,24)
Whilenot Ende&
Waitinput
If Clicked(Button1&)
Ende& = 1
ElseIf Clicked(Button&)
SetText Multi&,
Beispiel mit Ping
DirektDosOutputToMultiedit(, ping localhost,255,Multi&)
Endif
EndWhile
End
Proc DirektDosOutputToMultiedit
Parameters Progname$,Command$,MemBuffer&,Multiedit&
Declare hRPipe&,hWPipe&,pRBytes&,Result&
Declare PI#,SI#,SA#
Dim PI#,PROCESS_INFORMATION
Dim SI#,STARTUPINFO
Dim SA#,SECURITY_ATTRIBUTES
Declare StringBuffer$
StringBuffer$ = Space$(MemBuffer&)
SA#.nLength& =SizeOf(SA#)
SA#.bInheritHandle& = 1
SA#.lpSecurityDescriptor& = 0
Result& = ~CreatePipe(Addr(hRPipe&), Addr(hWPipe&), SA#, 0)
If Result& = 0
MessageBox(Pipe konnte nicht gestartet werden,,0)
End
Endif
If Progname$ <>
Command$ = + Command$
Endif
SI#.cb& = SizeOf(SI#)
SI#.dwFlags& = &STARTF_USESHOWWINDOW | &STARTF_USESTDHANDLES
SI#.hStdOutput& = hWPipe&
SI#.hStdError& = hWPipe&
If Progname$ =
Result& = ~CreateProcess(0, Addr(Command$), SA#, SA#, 1, &NORMAL_PRIORITY_CLASS, 0, 0, SI#,PI#)
Else
Result& = ~CreateProcess(Addr(Progname$), Addr(Command$),SA#,SA#,1,&NORMAL_PRIORITY_CLASS, 0, 0,SI#,PI#)
Endif
If Result& <> 1
MessageBox(Datei nicht gefunden,,0)
End
Else
Endif
Result& = ~CloseHandle(hWPipe&)
Var out$ =
While Result& <> 0
Result& = ~ReadFile(hRPipe&,Addr(StringBuffer$),MemBuffer&,Addr(pRBytes&), 0)
If pRBytes& > 0
Out$ = Left$(StringBuffer$,pRBytes&)
~OemToChar(Addr(Out$),Addr(Out$))
Settext Multiedit&,GetText$(Multiedit&)+Out$
If Instr(RUNNING,Out$)
Messagebox(läuft,läuft,0)
endif
Endif
Endwhile
~CloseHandle(PI#.hProcess&)
~CloseHandle(PI#.hThread&)
~CloseHandle(hRPipe&)
Dispose PI#,SI#,SA#
ENDPROC
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 11.04.2009 ▲ |
|
|
|
|
Paul Glatz | @E.T. Zeig la fois comment du es maintenant fais. |
|
|
| |
|
|
|
Paul Glatz | @E.T. si es reicht pour dem finissons des Programmes qui ausgabe trop avons peux du KompilierenMarqueSéparation aider. qui ausgabe liegt dans qui Angegebenen Textdatei! |
|
|
| |
|
|