Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi meldung eines anderen programms ermitteln? (https://www.delphipraxis.net/43050-meldung-eines-anderen-programms-ermitteln.html)

Christian Seehase 30. Mär 2005 18:17

Re: meldung eines anderen programms ermitteln?
 
Moin Philipp,

ja, mit Windows-Messageboxen.
Die von Delphi (z.B. ShowMessage, MessageDlg) sind aber keine Windows-Messageboxen.
Mit denen funktioniert das nicht.

Die Dialoge die Du meinst sind, IMHO, alle von der Klasse #32770.

fwsp 30. Mär 2005 20:25

Re: meldung eines anderen programms ermitteln?
 
moin

könnte man die meldung nicht einfach in eine seperate datei schreiben und die auswerung von da aus vornehmen lassen?

heiopei 21. Apr 2005 17:03

Re: meldung eines anderen programms ermitteln?
 
ja hallo,
wieder mal son alter beitrag von mir!

Zitat:

ja, mit Windows-Messageboxen.
Die von Delphi (z.B. ShowMessage, MessageDlg) sind aber keine Windows-Messageboxen.
Mit denen funktioniert das nicht.

Die Dialoge die Du meinst sind, IMHO, alle von der Klasse #32770.
also kann ich jetzt irgendwie den meldungstext auslesen?

das mit strg + c geht bei showmessage... nicht - hab ich ausprobiert!
naja - mir fällt kein weiterer lösungsweg ein :-(

mfg,
heiopei

Christian Seehase 21. Apr 2005 17:47

Re: meldung eines anderen programms ermitteln?
 
Moin Heiopei,

der einzige Lösungsweg der mir dazu einfällt (nicht als Witz gemeint):
Einen Screenshot von der Meldung durch ein OCR-Modul schicken.

Allerdings hätte ich nicht mal eine Idee, wo man so ein Modul herbekommen kann, weder frei noch kostenpflichtig.

heiopei 21. Apr 2005 19:19

Re: meldung eines anderen programms ermitteln?
 
ja, den lösungsweg hab ich mir auch schon gedacht - und ihn gleich wieder verdrängt ;-) :-(

tja, dann werd ich das wohl bleiben lassen :x

das mit hooken geht sicher nicht?!?

ps: was heißt orc-modul?

mfg,
heiopei

Christian Seehase 21. Apr 2005 19:25

Re: meldung eines anderen programms ermitteln?
 
Moin Heiopei,

OCR = Optical Character Recognition

Dies wird in Programmen genützt, die, z.B., aus eingescannten Seiten Textdateien erstellen können (vereinfacht gesagt).
Hierzu gehören, z.B., FineReader oder OmniPage.

c113plpbr 24. Apr 2005 01:12

Re: meldung eines anderen programms ermitteln?
 
Zitat:

Zitat von Christian Seehase
Die von Delphi (z.B. ShowMessage, MessageDlg) sind aber keine Windows-Messageboxen.
Mit denen funktioniert das nicht.

Bist du dir da sicher?
In meinem D05 & D7 Quellcode der Dialogs.pas steht mal
Delphi-Quellcode:
procedure TMessageForm.CustomKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key = Word('C')) then
  begin
    Beep;
    WriteToClipBoard(GetFormText);
  end;
end;
Ist das Aussagekräftig genug? Meine Tests bestätigen das ...

Zitat:

Zitat von heiopei
das mit hooken geht sicher nicht?!?

Du kannst es ja mal mit API-Hooks probieren, wobei es warscheinlich nicht allzu einfach ist einen Pointer auf die CreateMessageDialog Funktion innerhalb eines fremden Prozesses zu bekommen, da diese ja von Delphi zur Verfügung gestellt wird ...
Aber wenns nur für ein einziges (unveränderliches) Programm ist, könnte man das ja "Quick & Dirty" machen ... :zwinker: :angel2:

ciao, Philipp

Christian Seehase 24. Apr 2005 01:25

Re: meldung eines anderen programms ermitteln?
 
Moin Philipp,

zu dem Zeitpunkt als ich das geschrieben habe, hatte ich mit D5 gearbeitet, und damit geht es definitiv nicht.
TMessageForm hat die, inzwischen nachgerüsteten, Methoden einfach nicht.
Die sind offensichtlich, erst seit D6 vorhanden.

c113plpbr 24. Apr 2005 01:30

Re: meldung eines anderen programms ermitteln?
 
Zitat:

Zitat von Christian Seehase
zu dem Zeitpunkt als ich das geschrieben habe, hatte ich mit D5 gearbeitet, und damit geht es definitiv nicht.
TMessageForm hat die, inzwischen nachgerüsteten, Methoden einfach nicht.
Die sind offensichtlich, erst seit D6 vorhanden.

Sowas hab ich schon fast vermutet ... nun stellt sich eben nurnoch die Frage, ob dies in dem betreffenden Programm schon drin ist, oder nicht?!?

ciao, Philipp

Christian Seehase 24. Apr 2005 02:29

Re: meldung eines anderen programms ermitteln?
 
Moin Philipp,

den Weg über die Zwischenablage halte ich aber eh' nicht für sinnvoll, ausser das Programm sichert den alten Inhalt, und stellt ihn nach dem Auslesen des Message-Textes wieder her.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.
Seite 2 von 2     12   

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