AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 7 Programm in Vordergrund

Ein Thema von Andidreas · begonnen am 14. Feb 2012 · letzter Beitrag vom 14. Feb 2012
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Windows 7 Programm in Vordergrund

  Alt 14. Feb 2012, 11:23
aloha...

über die folgende routine habe ich unter xp einen 2. start eines programmes vermieden und das programm in den vordergrund gebracht:

Delphi-Quellcode:
program DPStart;

uses
  Forms,
  Windows,
  DPStart_main in 'DPStart_main.pas{Main_Form};

{$R *.res}

var
FirstInstance : hWnd;

begin

  FirstInstance := FindWindow('TApplication', 'hier muss ich denn text reinschreiben'); // <-- die stelle hätte ich gern variabel!!!
  If FirstInstance <> 0 Then
  Begin
    If IsIconic(FirstInstance) Then ShowWindow(FirstInstance, SW_RESTORE)
  Else
    SetForeGroundWindow(FirstInstance);
    FlashWindow(FirstInstance, True);
  End Else
  Begin
    Application.Title := 'hier muss ich denn text reinschreiben';´// <-- und diese auch
    Application.CreateForm(TMain_Form, Main_Form);
    Application.Run;
  End;

end.
unter windows 7 funktioniert das jetzt nicht mehr...

weiß jemand was man in windows 7 anders machen muss?
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows 7 Programm in Vordergrund

  Alt 14. Feb 2012, 11:33
Delphi-Quellcode:
  If FirstInstance <> 0 Then
  Begin

    Else

  End Else
  Begin

  End;
Das kann noch nie funktioniert haben.


<-- die stelle hätte ich gern variabel!!!
Dann mach es doch variabel?

Delphi-Quellcode:
program DPStart;

uses
  Forms,
  Windows,
  DPStart_main in 'DPStart_main.pas{Main_Form};

{$R *.res}

var
FirstInstance : hWnd;

begin
  Application.Title := 'bfjdcnmx'; // was eigenes nehmen oder das so lassen, welches über die Projektoptionen eingestellt wurde

  FirstInstance := FindWindow(PChar(Application.ClassName), PChar(Application.Title)); // <-- den originalen Text nehmen
  If FirstInstance <> 0 Then
  Begin
    If IsIconic(FirstInstance) Then ShowWindow(FirstInstance, SW_RESTORE);
    SetForeGroundWindow(FirstInstance);
    FlashWindow(FirstInstance, True);
  End Else
  Begin
    //Application.Title := nicht ändern
    Application.CreateForm(TMain_Form, Main_Form);
    Application.Run;
  End;

end.

PS: Wenn MainFormOnTaskbar True ist, dann mußt du das Handle und die Texte der Mainform nutzen und nicht das von Application.
$2B or not $2B
  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 08:37 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