| |
|
|
Jac de Lad | Jaja, ich schon wieder...
In Profan gabs mal einen Befehl GetUsage. Der ist in Xprofan 8.0a aber nicht mehr drin (zumindest habe ich keinen Hinweis darauf gefunden...) Ich möchte ein Programm schreiben, das ein anderes aufruft aber trotzdem weiterläuft (also hilft mir WinExecWait da nicht weiter...). Wie kann man das realisieren?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Torsten Rümker | Mit WinExec() würd ich meinen
Steht sehr schön auf einer Seite in der Hilfe, oben WinExec darunter WinExecWait.
mfg Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 31.10.2005 ▲ |
|
|
|
|
Jac de Lad | Hm, sagen wirs mal so rum: Ich starte ein Programm per WinExec und möchte wissen, ob es noch aktiv ist...ohne dass das Programm dabei pausiert. Das meine ich!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Torsten Rümker | Ok, hab dich falsch verstanden.
Also ich würde sagen, (iF möge mich korrigieren) das es sich um einen Fall für die Thread.pcu handelt, dann doch mit WinExecWait.
Alternativ kannst du natürlich auch regelmäßig per Findwindow(Fenstername) nachschauen ob es das Fenster des Programmes noch gibt.
Ähem das sind alle möglichkeiten die ich mir gerade so aus den Fingern saugen kann (Bin ja kein Profi)
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 31.10.2005 ▲ |
|
|
|
|
Jac de Lad | Ja, an FindWindow hab ich inzwischen auch gedacht! Ich glaube so werde ichs lösen. Hatte nur gedacht, dafür gibts n API oder so!!
Danke, Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Torsten Rümker | Wenn es dafür eine API gibt bin ich der Falsche um das zu beantworten, da ich mich mit APIs nur dann beschäftigt habe wenn es nicht anders ging. Sozusagen Ich versuche bei purem Profan zu bleiben, aber dat is gar nicht so einfach.
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 31.10.2005 ▲ |
|
|
|
|
Jac de Lad | Hm...ich dachte nur, weil es GetUsage ja schon mal gab, dass das irgendwie wieder auferstehen kann.
Danke, Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Ragnar Rehbein | ich habe für solche sachen eine nette INC KompilierenMarkierenSeparierenDEF CreateProcessA(10) ! "Kernel32","CreateProcessA"
DEF GetExitCodeProcess(2) ! "Kernel32","GetExitCodeProcess"
DEF TerminateProcess(2) ! "Kernel32","TerminateProcess"
DEF ZeroMemory(2) ! "Kernel32","RtlZeroMemory"
DEF CloseHandle(1) ! "Kernel32","CloseHandle"
Declare lpCommandLine#
Declare lpStartupInfo#
Declare lpProcessInformation#
Declare ExitCode#
Proc CreateProcess
Parameters CommandLine$
Declare hProcess&
Dim lpCommandLine#,Len(CommandLine$)+1
Dim lpStartupInfo#,68
ZeroMemory(lpStartupinfo#,68)
Long lpStartupInfo#,0=68
Dim lpProcessInformation#,16
ZeroMemory(lpProcessInformation#,16)
String lpCommandLine#,0=CommandLine$
CreateProcessA(0,lpCommandLine#,0,0,0,0,0,0,lpStartupInfo#,lpProcessInformation#)
hProcess&=Long(lpProcessInformation#,0)
Dispose lpCommandLine#
Dispose lpStartupInfo#
Dispose lpProcessInformation#
Return hProcess&
EndProc
Proc KillProcess
Parameters hProcess&
Dim exitcode#,4
GetExitCodeProcess(hProcess&,Exitcode#)
TerminateProcess(hProcess&,Long(exitcode#,0))
Dispose Exitcode#
EndProc
Proc ProcessStatus
parameters prozid&
declare status&
Dim exitcode#,4
GetExitCodeProcess(prozid&,Exitcode#)
status& = long(Exitcode#,0)
Dispose Exitcode#
return status&
endproc
----------Democode, später auskommentieren --------
Declare hProcess&
hProcess& = createprocess("NOTEPAD.EXE")
cls
settimer 400
while 1
waitinput
print ProcessStatus(hProcess&) 259 Prozess läuft
endwhile
WaitInput
KillProcess hProcess&Notepad wird mit dem Profan-Programm geschlossen
End
man muß nur dran denken nach dem starten des programms einmal zu warten bis der Status auf 259 ist, da man während der startphase (bei großen programmen) zuerst 0 zurückbekommt.
r.r. |
|
|
| |
|
|
|
Jac de Lad | Danke, ich probiers... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Jac de Lad | Hm, ok, also das geht schon mal. Ich hatte mal was angsprochen, ein Programm im HWnd eines anderen Programmes auszuführen. Da funzt leider weder das eine noch FindWindow...kann man das realisieren???
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 31.10.2005 ▲ |
|
|
|
|
Ragnar Rehbein | ich fürchte meine treffenquote beim erraten des sinns deiner fragen nimmt rapide ab.
du kannst kein 2 programm aus einem programm heraus starten und das 2. programm hat das HWND des aufrufenden programms.
das geht nur mit DLLs (nach meinem bisherigen verständnis)
sag doch lieber mal was du eingentlich machen bzw. erreichen willst.
es gibt sehr wenig auf dieser (Windows) welt was man mit XProfan (und dem netten drumherum wie XPIA / Profan2CPP) nicht machen kann. für alles andere gibt es Java (kostenlos / beste IDE / beste dokumentation / jede menge freien quelltext / nur leider schwieriger zu verstehen als XProfan)
r.r. |
|
|
| |
|
|
|
Jac de Lad | Ja, das geht. Mit Mit FindWindow Handle ermitteln und mit SetParent auf das eigene HWnd stellen. Funktioniert auch, aber FindWindow finde ich das Fenster nicht wieder. Ich probiers mal mit dem Handle, das FindWindow beim ersten Aufruf zurückgibt. Morgen poste ich das Ergebnis. Wenn das Prog fertig ist, könnt ihrs mal ausprobieren, immer hin scheint jetzt die gesamte Community mitzumachen!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 01.11.2005 ▲ |
|
|
|