![]() |
AW: Programm in fernsteuern WinXP geht Win7 nein
Hi,
das win7 ist ein 64bit system - und ich habe mir jetzt auch eine VM mit Win7 64bit und Delphi gebaut. Das Ergebnis: Mit sendkey ging weiterhin gar nichts - also habe ich alles auf sendmessage umgestellt. Jetzt läuft mein Prog auch unter Win7 - ABER nur wenn Delphi installiert ist...:pale: Auf 3 verschiedenen Win7-Rechnern ohne die Delphi IDE geht es überhaupt nicht... testweise habe ich schon die UAC, Virenschutz und Firewall ausgeschaltet - keine Änderung Da es in meiner VM mit Win7 funktioniert sollte es eigentlich nicht mehr am Programm selbst liegen, aber was blockiert dann die messages ? Bin mit meinem Latein am Ende...
Code:
wnd := FindWindow('ThunderRT6MDIForm','Dialock Hotel - DIALOCK Hotel');
wnd := FindWindowEx(wnd, 0, 'MDIClient', nil); wnd := FindWindowEx(wnd, 0, 'ThunderRT6FormDC', nil); wnd := FindWindowEx2(wnd,'ThunderRT6UserControlDC', 2); wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBoxDC', nil); if wnd <> 0 then postmessage(wnd,WM_KEYDOWN, VK_RETURN,0); // Raum Nr. apnr:=trim(apartmentnr.Text); if pos('.',apnr)>0 then delete(apnr,pos('.',apnr),1); apnr:='A'+apnr; AppActivate(pchar(dialock)); sleep(10); wnd := FindWindow('ThunderRT6MDIForm','Dialock Hotel - DIALOCK Hotel'); //showmessage(inttostr(parentwnd)); wnd := FindWindowEx(wnd, 0, 'MDIClient', nil); //showmessage(inttostr(parentwnd)); wnd := FindWindowEx(wnd, 0, 'ThunderRT6FormDC', nil); //showmessage(inttostr(parentwnd)); wnd := FindWindowEx(wnd, 0, 'AfxWnd40', nil); //showmessage(inttostr(parentwnd)); wnd := FindWindowEx2(wnd,'ThunderRT6TextBox', 5); //sleep(10); //showmessage(inttostr(wnd)); if wnd>0 then begin SendMessage(Wnd,WM_SETFOCUS,0,0); SendMessage(Wnd,WM_SETTEXT,0,LongInt(PChar(apnr))); end; // Key Nr. //sendmessage(wnd,WM_KEYDOWN, VK_TAB,0); wnd := FindWindow('ThunderRT6MDIForm','Dialock Hotel - DIALOCK Hotel'); wnd := FindWindowEx(wnd, 0, 'MDIClient', nil); wnd := FindWindowEx(wnd, 0, 'ThunderRT6FormDC', nil); wnd := FindWindowEx(wnd, 0, 'AfxWnd40', nil); wnd := FindWindowEx2(wnd,'ThunderRT6ComboBox', 2); i:=strtoint(kartenanzahl.Text); AppActivate(pchar(dialock)); sleep(10); //SendMessage(Wnd,WM_SETFOCUS,0,0); for i:=1 to i-1 do if wnd>0 then sendmessage(wnd,WM_KEYDOWN, VK_DOWN,0); // Dauer(Tage) tage:=''; tage:=inttostr(daysbetween(now,datumbis.DateTime+1)); result:=AppActivate(pchar(dialock)); sleep(10); wnd := FindWindow('ThunderRT6MDIForm','Dialock Hotel - DIALOCK Hotel'); wnd := FindWindowEx(wnd, 0, 'MDIClient', nil); wnd := FindWindowEx(wnd, 0, 'ThunderRT6FormDC', nil); wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBoxDC', nil); wnd := FindWindowEx(wnd, 0, 'ThunderRT6ComboBox', nil); wnd := FindWindowEx(wnd, 0, 'Edit', nil); if wnd>0 then begin SendMessage(Wnd,WM_SETFOCUS,0,0); for i := 1 to Length(tage) do SendMessage(wnd, WM_CHAR, Word(tage[i]), 0); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz