AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wann hat eine Anwendung fertig geladen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wann hat eine Anwendung fertig geladen?

Ein Thema von Gecko · begonnen am 24. Mär 2007 · letzter Beitrag vom 24. Mär 2007
Antwort Antwort
Gecko
(Gast)

n/a Beiträge
 
#1

Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 17:17
Hi,

man kann ja mit WinExec() bzw. mit CreateProcess u.a. eine Anwendung starten.
Gibts irgendeinen Weg um festzustellen, wann diese fertig geladen ist, oder müsste ich ständig die CPU überwachen?
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 17:22
Glaub nicht dass das geht und das mit der CPU überwachen ist auch eine blöde Idee.
Oder willst Du prüfen ob das Programm erfolgreich ausgeführt worden ist?
  Mit Zitat antworten Zitat
Gecko
(Gast)

n/a Beiträge
 
#3

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:03
ShellExecute(Application.Handle,'open',PChar('D:\P rogramme\Unreal Tournament 2004\System\UT2004.exe'),PChar(''),PChar('C:\'),SW _HIDE);

Kann mir jemand sagen warum die App nicht versteckt startet? Bei allem anderen geht es, nur bei Spielen nicht!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:06
Weil deine Spiele wahrscheinlich keine Fenster-Programme sind, sondern selber alles zeichnen und an die Graphikkarte schicken.

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:14
Hallo,

da bin mir nicht ganz sicher, aber du könntest es ja bei CreateProcess mal mit windows.WaitForInputIdle(...,INFINITE); versuchen.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:17
Zitat von bitsetter:
Hallo,

da bin mir nicht ganz sicher, aber du könntest es ja bei CreateProcess mal mit windows.WaitForInputIdle(...,INFINITE); versuchen.
Mit dem wartest du aber bis das Programm beendet wird?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:23
@MrKnogge: Kein Fensterprogramm? LOL? Du glaubst doch nicht ernsthaft, dass ein Spiel auf den Desktop zeichnet? Für OpenGL und meines Wissens auch für DirectX brauchst du einen DeviceContext, und dafür braucht man (normalerweise) ein Fenster. Ich glaube es liegt eher daran, dass Spiele gerne mal die Auflösung neu setzen und auch evtl. ihren eigenen Fensterstatus setzen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hafish

Registriert seit: 22. Mär 2007
37 Beiträge
 
#8

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 18:48
Liegt das evtl daran dass die Spiele Engines das selbst überprüfen und sich im Notfall selbst wiederherstellen?

Ich kenn das von diversen Spielen, dass sie nur im Vollbildmodus laufen, teilweise kommt man nichtmal mehr auf den Desktop zurück.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Wann hat eine Anwendung fertig geladen?

  Alt 24. Mär 2007, 19:06
@ErazerZ

nein das war WaitForSingleObject();
WaitForSingleObject(hProcess, INFINITE);
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz