Registriert seit: 14. Mai 2005
108 Beiträge
Delphi 2005 Professional
|
WM_SETTEXT speichern geht nicht
4. Jan 2008, 15:51
Hallo, ich sitze schon seit einiger Zeitttttttttt........... an einem Problem und bekomme es nicht gelöst,
ich versuche mal das ganze zu umschreiben.
Also, ich habe einen Telefonmonitor der es mir erlaubt bei einem bestehenden Anruf einen Text in ein Textfeld einzugeben der dann zu dem Anruf in einer Datenbank
mit gespeichert wird.
Nun habe ich ein kleines Popup geschrieben welches bei einem Anruf in einer Datenbank nach der Telefonnummer sucht und die Daten (Geburtstag usw..) per WM_SETTEXT in das Feld des Telefonmonitors kopiert.
Delphi-Quellcode:
wnd := FindWindow('ThunderRT6Form', 'Gesprächsmonitor - Vertical TeleVantage ViewPoint');
wndTV := wnd;
wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := GetWindow(Wnd, GW_HWNDNEXT);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := GetWindow(Wnd, GW_HWNDNEXT);
wnd := GetWindow(Wnd, GW_HWNDNEXT);
wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
wnd := FindWindowEx(wnd, 0, 'ThunderRT6TextBox', nil);
if wnd <> 0 then
begin
SendMessage(wnd, WM_SETTEXT, 0, LPARAM(PChar(frmInfo.Memo1.Text)));
// SendMessage(wnd, WM_LBUTTONUP,0,0);
// SendMessage(wnd, VK_RETURN,0,0);
// sleep(100);
// SendMessage(wnd, WM_KEYDOWN, VkKeyScan('1'), 0);
// SendMessage(wnd, WM_CHAR, VkKeyScan('1'), 0);
// SendMessage(wnd, WM_KEYUP, VkKeyScan('1'), 0);
end;
soweit funktioniert das auch alles.
Das Problem ist nun wenn der Text in das Textfeld des Telefonmonitors via WM_SETTEXT plaziert wurde und der Anruf beendet wir,
wird der Text nicht mit abgespeichert.
Schreibe ich aber noch Text von Hand dazu geht das problemlos.
Wir Ihr seht habe ich schon mit diversen SendMessages versucht noch eine Tastatureingabe zu simulieren was das Feld auch schön mitmacht, aber leider wird troz allem nicht gespeichert. Erst wenn ich von Hand was dazutippe geht das speichern.
Hat jemand vielleicht noch einen Tip woran es liegen könnte ?
Bin für jede Hilfe dankbar.
Gruss Martin
ich weiss, das ich nichts weiss!
|