hallo
ich bin dabei eine anwendung mit Borland Delphi 6 zu programmieren, bei der der user die möglichkeit haben soll, durch schnelltasten, bestimmte aktionen durchzuführen, auch wenn das programm gerade nicht aktiv, also minimiert, im tray oder sonstwo ist.
dazu muss ich wohl Windows
API Hooks verweden. ich habe mir dazu bereits ein paar tutorials durchgelesen und die entsprechenden funktionen (Hook/Unhook) in eine
DLL ausgelagert; das ganze funktioniert auch schon, allerdings treten dabei gewisse unschöne probleme auf, die es bei anderen programmen, die offensichtlich auch Hooks verwenden, nicht gibt.
und zwar sollen das ganze auch funktionieren wenn das system durch andere anwendungen belastet ist wie z.B. wenn ein spiel an ist.
und zwar wenn ich einen keyboardhook installieren lasse vom programm durch die
DLL dann ist dieser so eingestellt ist, dass er auf alle tastatursignale reagiert und mit SendMessage oder PostMessage eine Nachricht an das Hauptprogramm schickt.
die nachricht empfange ich im hauptprogramm mit
(SendMessage) WndProc(var Mess:TMessage);
(PostMessage) Application.OnMessage
Mit SendMessage funktioniert es, das system ruckelt aber kurz.
Mit PostMessage funktioniert es generell auch, aber wenn das system stärker ausgelastet ist (also wenn ein spiel an ist) dauert es lange (bis zu 30 sek) bis das signal ankommt bzw bis das programm reagiert (es reagiert mit einem audio signal).
Ich weiß nicht ob man es nur mit SendMessage bzw PostMessage hinbekommen kann dass es einwandfrei funktioniert und weiß auch nicht woher die jeweiligen probleme kommen...vielleicht wartet das sytem bei sendmessage bis die nachricht da ist und ruckelt deswegen...
meine frage : kann man das problem generell so einfach lösen (also ohne verwendung von MMF o.ä.)?
und wenn nicht : wo finde ich tutorials für MMF in delphi ?
TIA