Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm beenden über Programm (https://www.delphipraxis.net/5630-programm-beenden-ueber-programm.html)

chris01 17. Jul 2003 13:43

Re: Programm beenden über Programm
 
@Assarbad

Nicht wirklich!!

Gast 17. Jul 2003 14:39

Re: Programm beenden über Programm
 
doch. der beispiele gibt es viele. zB mein PView2! siehe meine homepage

Blizzard 17. Jul 2003 15:24

Re: Programm beenden über Programm
 
@chris probier es mal noch mit postmessage anstatt sendmessage so ein ähnliches problem trat nämlich auch in diesem thread und da hat es mit postmessage statt sendmessage dann geklappt.

chris01 30. Jul 2003 15:05

Re: Programm beenden über Programm
 
Die eigene Anwendung funktioniert, doch bei den anderen nicht!! Brauche ich vielleicht die Rechte von WinXP dafür??

Luckie 19. Dez 2003 22:45

Re: Programm beenden über Programm
 
Kuck doch erstmal, ob du überhaupt das Fenster mit FindWindow findest. Sprich lass dir mal anzeigen, was FinWindow zurück gibt. Dann können wir weitersehen. Gib auch erstmal nur den fenstertitel an.

Robert_G 20. Dez 2003 01:25

Re: Programm beenden über Programm
 
@Lucky
Ich glaube nach einem halben Jahr hat er den Rechner "manuell" heruntergefahren :lol:

Luckie 20. Dez 2003 02:14

Re: Programm beenden über Programm
 
Er hatte mich eben noch mal angesprochen.

TStringlist 20. Dez 2003 15:23

Re: Programm beenden über Programm
 
...wahrscheinlich lags/liegts tatsächlich an FindWindow. Das sehe ich hier in dem Thread nämlich immer mit etwas falschen Parametern bestückt. Weil nämlich, normale Strings sollten da eigentlich nicht stehen, sondern eher Pointer auf nullterminierte Strings. Also folgendes funktionierte bei mir z.B.:


Code:
var
  WindowHandle : HWnd;
begin
  WindowHandle := FindWindow(PChar(0), PChar('Testprog'));
  if WindowHandle <> 0 then PostMessage(WindowHandle,WM_Quit,0,0);
  ...

Luckie 20. Dez 2003 15:24

Re: Programm beenden über Programm
 
Der Cast nach PChar ist nur nötig, wenn eine Variable dort steht. Steht dort ein hardgecodeter String, erledigt das die Compilermagic von Delphi für dich.

TStringlist 20. Dez 2003 16:58

Re: Programm beenden über Programm
 
...hm, also mit

WindowHandle := FindWindow('', 'Testprog');

funktioniert es bei mir aber nicht, da bekomme ich für WindowHandle nämlich immer die 0 zurück.

Wenn ich allerdings folgendes schreibe:

WindowHandle := FindWindow(PChar(0), 'Testprog');

dann geht's auf einmal doch. Du hast also (wenigstens teilweise) durchaus recht. Bei einem leeren String ('') jedoch, scheint diese Compilermagic dann aber irgendwie nicht mitzuspielen. Ergo: Da bei FindWindow aber fast immer ein leerer String als Parameter mit von der Partie ist, ist es also schon etwas besser, sich lieber gleich in beiden Fällen des PChar's zu bedienen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Seite 4 von 5   « Erste     234 5      

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