AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fremde Anwendung (+ Message Box Dialog) "sanft" beenden
Thema durchsuchen
Ansicht
Themen-Optionen

Fremde Anwendung (+ Message Box Dialog) "sanft" beenden

Ein Thema von Thomas233 · begonnen am 27. Mär 2007 · letzter Beitrag vom 2. Apr 2007
Antwort Antwort
Seite 2 von 2     12   
LizardKaiser

Registriert seit: 18. Feb 2007
Ort: Kassel
25 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 27. Mär 2007, 19:22
Ich wollte ja nur eine Alternativlösung posten
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 27. Mär 2007, 19:32
Zitat von LizardKaiser:
Ich wollte ja nur eine Alternativlösung posten
Jo sorry!
Muss ja auch keine meiner lösungen benutzt werden.
Sind lediglich auch nur vorschläge.

gruss
  Mit Zitat antworten Zitat
Thomas233

Registriert seit: 20. Feb 2004
Ort: Villach
66 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 30. Mär 2007, 17:44
So, hab jetzt alles mal durchprobiert.

U.a. die ganzen Get***-Methoden um an das Messagebox-Handle zu kommen. Half aber auch nicht da ich entweder das falsche Handle bekam oder das anschliessende Senden der WM_CLOSE Nachricht nichts bewirkt hat (mit dem richtigen Handle).

Dann hab ich es mit einem simulierten Alt+F4 probiert, das bringt aber auch nichts da sich dann nicht das Programm schliesst sondern nur die Messagebox (Programm läuft normal weiter).

Nun habe ich meinen Code ein bisschen umgebaut und es mit einem simulierten Return/Enter probiert, geht aber auch nicht (Messagebox bleibt regungslos stehen):

Delphi-Quellcode:
var
  Inp: array of TInput;
  I: Integer;
begin
  PostMessage(HInst, WM_ACTIVATEAPP, 0, 0);
  PostMessage(HInst, WM_SHOWWINDOW, 0, 0);
  PostMessage(HInst, WM_CLOSE, 0, 0);

  SetLength(Inp,2);

  Inp[0].Itype := INPUT_KEYBOARD;
  Inp[0].ki.wScan:=MapVirtualKey(VK_RETURN, 0);
  Inp[0].ki.wVk := VK_RETURN;
  Inp[0].ki.dwFlags := 0;

  Inp[1].Itype := INPUT_KEYBOARD;
  Inp[1].ki.wScan:=MapVirtualKey(VK_RETURN, 0);
  Inp[1].ki.wVk := VK_RETURN;
  Inp[1].ki.dwFlags := KEYEVENTF_KEYUP;

  SendInput(2, Inp[0], SizeOf(Inp[0]));
Ich kriegs einfach nicht hin.

Ich erinne mich aber u.a. das bei manchen Treiberinstallationen die ganzen Meldungen welche z.b. Windows Xp ausgibt (Windows zertifizierter Treiber usw.) vom Installationsprogramm manchmal selbst "bedient" werden. Das sieht man am besten daran wenn z.b. der Dialog "Treiber suchen" auftaucht, welcher dann vom Installationsprogramm wie von Geisterhand bedient wird (man sieht wie zwischen den einzelnen Schritten weiter gesprungen wird mit einem Klick auf "Weiter") um dann den Treiber zu installieren.
DAS bräuchte ich auch für mein Problem !

Danke trotzdem !

Mfg.
Thomas
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 30. Mär 2007, 18:43
Zitat:
Dann hab ich es mit einem simulierten Alt+F4 probiert, das bringt aber auch nichts da sich dann nicht das Programm schliesst sondern nur die Messagebox
Wenn du schon soweit warst mußt du doch nur noch die Anwendung schließen.
Oder gehen dann Teile des Programms verloren ?
Abspeichern usw..

Werd mir mal ProgDVD anschauen und sehen was sich da machen läßt.
Aber nur wenn es Freeware ist .. kaufen will ich es deshalb nicht unbedingt

Gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 30. Mär 2007, 19:05
1. GetForeGroundWindow muss nicht die MessageBox sein.
2. Alt + F4 auf eine Messagebox angewand entspricht der Schaltfläche "Abbrechen".
3. MessageBoxen, die nur "Ja", "Nein" kennen, lassen sich nicht mit WM_CLOSE schliessen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Thomas233

Registriert seit: 20. Feb 2004
Ort: Villach
66 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 31. Mär 2007, 14:21
Hi,

@Emil: Letzterer Beitrag beantwortet bereits deine Frage. Das Programm brauchst du übrigens nicht ausprobieren, den Screenshot habe ich nur als Beispiel genommen (will anderes Programm ansteuern).

@Luckie:
Zitat von Luckie:
3. MessageBoxen, die nur "Ja", "Nein" kennen, lassen sich nicht mit WM_CLOSE schliessen.
Ja aber mit was denn dann ??

Danke !

Lg,
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 31. Mär 2007, 14:31
Zitat von Thomas233:
@Luckie:
Zitat von Luckie:
3. MessageBoxen, die nur "Ja", "Nein" kennen, lassen sich nicht mit WM_CLOSE schliessen.
Ja aber mit was denn dann ??
In dem man auf eine der beiden Schaltflächen klickt. Ob nun selber mit der Maus oder mit ein paar Zeien Code ist unerheblich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Thomas233

Registriert seit: 20. Feb 2004
Ort: Villach
66 Beiträge
 
Delphi 2005 Personal
 
#18

Re: Fremde Anwendung (+ Message Box Dialog) "sanft"

  Alt 2. Apr 2007, 12:49
Geht aber beides bei mir so nicht (manuell u. simulierter Tastendruck). Für einen Mausklick bräuchte ich dann erstmal die Koordinaten des OK-Buttons (kommt man wahrscheinlich auch ran, is aber sicherlich nicht ganz so unkompliziert).

Naja, hat sich aber zum Glück eh schon wieder erledigt, die Sicherheitsabfrage lässt sich nähmlich tatsächlich im Programm ausschalten (gut versteckt in den Optionen). Kam erst auf die Idee durch letzteren Beitrag. Dafür schliesse ich das Prog jetzt ganz gerne mal absolut ungewollt.

Danke trotzdem für die versuchte Hilfestellung !

Ich markiere es mal als nicht mehr offene Frage, wenn aber jemand noch eine Lösung findet oder ein ähnliches Prob hat...

Danke + Sorry !

Mit freundlichen Grüßen,
Thomas Tschofenig
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:11 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