1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| procedure TfmMain.btnGoogleEarthClick(Sender: TObject); var s:string; wnd: HWND; i:integer; begin s:= LatLonToString( Processor.GPGGA.LatLon );
wnd := FindWindow('QWidget', 'Google Earth'); if Wnd=0 then shellExecute(Handle,'open',pchar(GoogleEarthPath+'\googleearth.exe'),pchar(s),nil,SW_SHOWNORMAL); while wnd=0 do begin wnd := FindWindow('QWidget', 'Google Earth'); Sleep(1000); end; BringWindowToTop(Wnd); wnd := FindWindowEx(wnd, 0, 'QWidget', 'qt_central_widget'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'MainWindowHSplitter'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'LeftPanelVSplitter'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'Search'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'Search'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'unnamed'); wnd := FindWindowEx(wnd, 0, 'QWidget', nil); wnd := FindWindowEx(wnd, 0, 'QWidget', 'searchTabWidget'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'tab pages'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'fly'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'mFlyFrame'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'mFlyCombo'); wnd := FindWindowEx(wnd, 0, 'QWidget', 'combo edit'); if wnd <> 0 then begin while GetForegroundwindow<>wnd do Sleep(1000); for i:= 1 to length(s) do begin PostMessage(Wnd,WM_Char,ord(s[i]),0); end; PostMessage(Wnd,WM_KEYDOWN,13,0); PostMessage(Wnd,WM_KEYUP,13,0); end; end; |