Einzelnen Beitrag anzeigen

SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#1

Postmessage wm_lbuttondblclk geht aber wm_lbuttondown nicht?

  Alt 9. Okt 2008, 12:08
hallo, ich lasse an einer bestimmten position in einem externen programm die linke maustaste drücken.

wenn diese gedrückt wird, sollte in einem edit einer externen anwendung dann ein text erscheinen. dies passiert jedoch nicht.

hier mal der Code:


Delphi-Quellcode:
 
    //Text bei wirklichen klick mit maus wird gespeichert
  form1.Memo1.Lines.Add(callsign + ' selected first');
  
  //Hier wird die Anwendung (extern) nochmals in den vordergrund gerufen mittels einer Funktion aus der Sndkey32.pas
  appactivate(radar_handle,1);

  //Hier setze ich die Maus auf die von mir gewünschte, berechnete Position im Programm
  // Diese x,y koordinate ist im bezug auf den desktop berechnet
  SetCursorPos(x + 25,y + 25);
  
  //Hier wird jetzt der Mausklick simuliert und die x,y koordinate umgerechnet
  postMessage(Radar_handle,wm_lbuttondown,0,Makelparam(x + 25,y + 25));
  postmessage(Radar_handle,wm_lbuttonup,0,makelparam(x + 25,y + 25));

  //ich lasse hier bewusst buttondown, und buttonup senden, weil entweder das eine oder das andere funktioniert nicht

  //Hier wird der Text der in dem Edit erscheinen sollte ausgelesen
  callsign2 := get_commbox_selected_callsign;
  
  //und zur kontrolle gespeichert
  form1.Memo1.Lines.Add(callsign2 + ' second selected');

Meine vermutung ist nun, dass die berechnete x,y Koordinate auf dem desktop nicht mit der gewünschten umgerechneten Position im externen programm übereinstimmt!


hat jemand eine idee woran es denn liegen könnte?
Marco Tröger
  Mit Zitat antworten Zitat