Einzelnen Beitrag anzeigen

seddto1977

Registriert seit: 15. Apr 2004
69 Beiträge
 
#11

Re: zwei Programme miteinander kommunizieren lassen

  Alt 7. Mai 2004, 19:59
Danke für die Antworten Ich habe es jetzt mal mit sendmessage probiert. "Programm A" das in der Regel auf die "Datei C" zugreift hat eine unsichtbare Form bekommen (initialisiert mit "Application.showmainform := false und Form1.visible := false) Auf der Form sind zwei Buttons mit dem label "zugriff begin" und "zugriff end" Wenn "Porgamm B" Zugriff haben möchte sucht es mit FindWindow und FindwindowEX den 1.Button und klickt ihn, beim ende des Zugriffs das selbe mit Button 2. Soweit die Theorie! Das ist der entsprechende Code-Schnipsel:

Code:
function Zugriff(Buttontext: string): Boolean;
var HB, hApp, hbutton: HWND;
begin
    application.processmessages;
    HB := FindWindow(nil, 'dasfensteristunsichtbarundhateinenquatschnamen');

  IF (HB <> 0) then
    begin
     hApp := HB;
     hButton := FindWindowEx(hApp, 0, nil, PChar(buttontext));

      if hbutton <> 0 then
        begin
          SendMessage(hButton, BM_CLICK, 0, 0);
          result := true;
        end;
Das finden des unsichtbaren Windows klappt (im einzelschritt-Modus überprüft) Allerdings erhalte ich beim Button als id immer 0 hat jemand ne Ahnung woran das liegt? By the way: Buttontext enthält den korrekten Namen des Buttons (ist auch ohne Rechtschreibfehler hab ich gecheckt)...hat jemand eine Ahnung was falsch läuft?
  Mit Zitat antworten Zitat