AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Befehl immer wieder ausführen ohne CPU belastung

Befehl immer wieder ausführen ohne CPU belastung

Ein Thema von BlueLiquidCell · begonnen am 29. Jun 2010 · letzter Beitrag vom 10. Jul 2010
Antwort Antwort
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#1

AW: Befehl immer wieder ausführen ohne CPU belastung

  Alt 29. Jun 2010, 15:23
Hey
Also um das mal klarzustellen. Es geht nicht um Notepad das war nur um es zu testen^^

Es geht um nen Flugsimulator. Das Problem dort ist, wenn man ihn im Fenstermodus laufen lässt (was für meine Anwendung nicht anders geht) dann geht der Sound sofort weg wenn man wo anders hinklickt, deshalb wollte ich halt etwas haben was ihn im Vordergrund hält oder bzw dann sofort wieder zurück bringt wenn man wo anders hingeklickt hat.
Mit Deskpins geht leider nicht, das Fenster bleibt zwar im Vordergrund aber leider nicht aktiv -> Sound geht aus
Und ich wollt das halt mit einem Button aktivieren und mit nem anderen abbrechen.
Habs jetzt so gemacht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
Gibts da ne einfachere möglichkeit? Problem ist bei 50ms oder 100ms muss man schon öfter drücken bis der befehl durchkommt

Vlt geht das mit dem Sound ja auch anders????

Danke für die Antworten

Geändert von BlueLiquidCell (29. Jun 2010 um 20:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Befehl immer wieder ausführen ohne CPU belastung

  Alt 5. Jul 2010, 10:29
Also es geht um Flightsimulator X, hast du zu selbigen mal die 2 Service Packs ausprobiert? Das währe auf jedenfall ne bessere Lösung als das irgend ein selbstgeschriebenes Programm erledigen zu lassen
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#3

AW: Befehl immer wieder ausführen ohne CPU belastung

  Alt 5. Jul 2010, 10:35
Hey
Ja klar hab ich gemacht, bringt leider nix. Auch in Foren zum FSX gibt es nirgens eine Lösung deswegen wollte ich halt selber probieren.
Christoph

PS: Sorry wegen dem andern Thread, kenn mich hier noch net so aus

Hier nochmal das Problem:

Es geht um nen Flugsimulator. Das Problem dort ist, wenn man ihn im Fenstermodus laufen lässt (was für meine Anwendung nicht anders geht) dann geht der Sound sofort weg wenn man wo anders hinklickt, deshalb wollte ich halt etwas haben was ihn im Vordergrund hält oder bzw dann sofort wieder zurück bringt wenn man wo anders hingeklickt hat.
Mit Deskpins geht leider nicht, das Fenster bleibt zwar im Vordergrund aber leider nicht aktiv -> Sound geht aus
Und ich wollt das halt mit einem Button aktivieren und mit nem anderen abbrechen.
Habs jetzt so gemacht:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
    fHandle, fHandle2: HWND;
begin
    fHandle := FindWindow('fs98main', nil);
    if (fHandle <> 0) then
    begin
       BringWindowToTop(fHandle);
       SetForeGroundWindow(fHandle);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
Problem 1:
Wenn der Timer auf 50ms oder 100ms gestellt ist muss man schon öfter die Abbrechen Taste drücken bis der befehl durchkommt.

Problem 2:
Wenn Ich das Programm unter Delphi teste funktioniert es immer.
Wenn ich es allerdings alleine (nur die .exe) starte, bringt es den Flugsimulator auch in den Vordergrund wenn ich aber danach ein Windows fenster anklicke funktioniert es anscheinend nicht mehr. Der Flugsimulator blinkt zwar unter in der Taskleiste kommt aber nicht in den Vordergrund.

Vlt geht das mit dem Sound ja auch anders???? Man Kann im Flugsimulator die Sound-Device ID einstellen. Kann man vlt ein Neues Device erstellen was den Sound immer weitergibt an das richtige Device?

Danke schonmal für die Antworten

Christoph

Geändert von BlueLiquidCell ( 5. Jul 2010 um 10:45 Uhr)
  Mit Zitat antworten Zitat
Mschmidt

Registriert seit: 4. Jul 2010
Ort: Berlin
62 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Befehl immer wieder ausführen ohne CPU belastung

  Alt 5. Jul 2010, 16:32
versuchs mal mit dem reagieren auf die Windows-Botschaft WM_NCACTIVATE().
:-mschmidt
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz