unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private procedure Obmen(num:string;del:Boolean); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Obmen(num:string;del:Boolean); var l,r:integer; keyk:char; SR: TSearchRec; // begin Showwindow(findwindow(nil,'ByNNA'),SW_HIDE); Showwindow(findwindow(nil,'ByNNA'),SW_MINIMIZE); Showwindow(findwindow(nil,'ByNNA'),SW_RESTORE); // Showwindow(findwindow(nil,'ByNNA'),sw_show); if (SetForegroundWindow(findwindow(nil,'ByNNA'))<>false) then begin end else begin showmessage ('Ошибочка'); halt; end; //выходим в меню keybd_event(VK_MENU, MapvirtualKey(VK_MENU, 0), 0, 0); keybd_event(VK_MENU, MapvirtualKey(VK_MENU, 0),KEYEVENTF_KEYUP , 0); //вниз по меню keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0), 0, 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0), 0, 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0), 0, 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0), 0, 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0), 0, 0); keybd_event(VK_DOWN, MapvirtualKey(VK_DOWN, 0),KEYEVENTF_KEYUP , 0); //выбор нужного пункта enter keybd_event(VK_RETURN, MapvirtualKey(VK_RETURN, 0), 0, 0); keybd_event(VK_RETURN, MapvirtualKey(VK_RETURN, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0), 0, 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0),KEYEVENTF_KEYUP , 0); l:=Length(num); for r:=1 to l do begin keyk:=num[r]; keybd_event(Ord(keyk), MapvirtualKey(Ord(keyk), 0), 0, 0); keybd_event(Ord(keyk), MapvirtualKey(Ord(keyk), 0),KEYEVENTF_KEYUP , 0); end ; keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0), 0, 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0), 0, 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0), 0, 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0), 0, 0); keybd_event(VK_TAB, MapvirtualKey(VK_TAB, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_DELETE, MapvirtualKey(VK_DELETE, 0), 0, 0); keybd_event(VK_DELETE, MapvirtualKey(VK_DELETE, 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('C'), MapvirtualKey(Ord('C'), 0), 0, 0); keybd_event(Ord('C'), MapvirtualKey(Ord('C'), 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_SHIFT, MapvirtualKey(VK_SHIFT, 0), 0, 0); keybd_event(186, MapvirtualKey(186, 0), 0, 0); keybd_event(186, MapvirtualKey(186, 0),KEYEVENTF_KEYUP , 0); keybd_event(VK_SHIFT, MapvirtualKey(VK_SHIFT, 0),KEYEVENTF_KEYUP , 0); keybd_event(220, MapvirtualKey(220, 0), 0, 0); keybd_event(220, MapvirtualKey(220, 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('O'), MapvirtualKey(Ord('O'), 0), 0, 0); keybd_event(Ord('O'), MapvirtualKey(Ord('O'), 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('B'), MapvirtualKey(Ord('B'), 0), 0, 0); keybd_event(Ord('B'), MapvirtualKey(Ord('B'), 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('M'), MapvirtualKey(Ord('M'), 0), 0, 0); keybd_event(Ord('M'), MapvirtualKey(Ord('M'), 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('E'), MapvirtualKey(Ord('E'), 0), 0, 0); keybd_event(Ord('E'), MapvirtualKey(Ord('E'), 0),KEYEVENTF_KEYUP , 0); keybd_event(Ord('N'), MapvirtualKey(Ord('N'), 0), 0, 0); keybd_event(Ord('N'), MapvirtualKey(Ord('N'), 0),KEYEVENTF_KEYUP , 0); keybd_event(220, MapvirtualKey(220, 0), 0, 0); keybd_event(220, MapvirtualKey(220, 0),KEYEVENTF_KEYUP , 0); l:=Length(num); for r:=1 to l do begin keyk:=num[r]; keybd_event(Ord(keyk), MapvirtualKey(Ord(keyk), 0), 0, 0); keybd_event(Ord(keyk), MapvirtualKey(Ord(keyk), 0),KEYEVENTF_KEYUP , 0); end ; keybd_event(VK_RETURN, MapvirtualKey(VK_RETURN, 0), 0, 0); keybd_event(VK_RETURN, MapvirtualKey(VK_RETURN, 0),KEYEVENTF_KEYUP , 0); Repeat Memo1.Lines.add(num); Until FindFirst('c:\obmen\'+num+'\swnd7.arc', faAnyFile, SR)=0; // findwindow(nil, 'Обмен между отделами') <>0 ; FindClose(SR); //showmessage(num); sleep(1000); end; procedure TForm1.Button1Click(Sender: TObject); begin // найти окно //if findwindow(nil, 'СуперОкна 7') <>0 then showmessage ('Есть'); // переименование окна setwindowtext (findwindow(nil,'СуперОкна 7'),'ByNNA'); //показать окно //ловим окно для нажатий клавиш Timer1.Enabled := false; Obmen('2',false); Obmen('3',false); Obmen('4',false); Obmen('5',false); Obmen('6',false); Obmen('7',false); Obmen('8',false); Obmen('9',false); Obmen('10',false); Obmen('11',false); Obmen('12',false); Obmen('13',false); Obmen('14',false); Obmen('15',false); Obmen('16',false); Obmen('17',false); Obmen('18',false); Obmen('19',false); //Obmen('20',false); Obmen('21',false); //Obmen('22',false); Obmen('23',false); Obmen('24',false); Obmen('25',false); Obmen('26',false); Obmen('27',false); Obmen('28',false); Obmen('29',false); Obmen('30',false); Obmen('31',false); //Obmen('32',false); //Obmen('33',false); //Obmen('34',false); Obmen('35',false); Obmen('36',false); Obmen('37',false); Obmen('38',false); Obmen('39',false); Obmen('40',false); Obmen('41',false); Obmen('42',false); //Obmen('43',false); Obmen('44',false); Obmen('45',false); Obmen('46',false); Obmen('47',false); Obmen('48',false); Obmen('49',false); //Obmen('50',false); Obmen('51',false); Obmen('52',false); Obmen('53',false); //Obmen('54',false); Obmen('55',false); Obmen('56',false); Obmen('57',false); Obmen('58',false); Obmen('59',false); Obmen('60',false); //Obmen('61',false); Obmen('62',false); Obmen('63',false); Obmen('64',false); Obmen('65',false); Obmen('66',false); Obmen('67',false); Obmen('68',false); //Obmen('69',false); Obmen('70',false); //Obmen('71',false); Obmen('72',false); Obmen('73',false); //Obmen('74',false); Obmen('75',false); Obmen('76',false); Obmen('77',false); Obmen('78',false); //Obmen('79',false); Obmen('80',false); Obmen('81',false); Obmen('82',false); Obmen('83',false); Obmen('84',false); Obmen('85',false); Obmen('86',false); Obmen('87',false); Obmen('88',false); Obmen('89',false); Obmen('90',false); Obmen('91',false); Obmen('92',false); Obmen('93',false); Obmen('94',false); Obmen('95',false); Obmen('96',false); //Obmen('97',false); Obmen('98',false); Obmen('99',false); Obmen('100',false); Obmen('101',false); //Obmen('102',false); Obmen('103',false); //Obmen('104',false); Obmen('105',false); Obmen('106',false); Obmen('107',false); //Obmen('108',false); Obmen('109',false); Obmen('110',false); Obmen('111',false); Obmen('112',false); //Obmen('113',false); Obmen('114',false); Obmen('115',false); Obmen('116',false); Obmen('117',false); Obmen('118',false); //Obmen('119',false); Obmen('120',false); Obmen('121',false); Obmen('122',false); //Obmen('123',false); //Obmen('124',false); Obmen('125',false); Obmen('126',false); Obmen('127',false); //Obmen('128',false); //Obmen('129',false); Obmen('130',false); Obmen('131',false); //Obmen('132',false); Obmen('133',false); Obmen('134',false); Obmen('135',false); Obmen('136',false); Obmen('137',false); Obmen('138',false); {Obmen('139',false); Obmen('140',false); Obmen('141',false); Obmen('142',false);} Obmen('143',false); Obmen('144',false); Obmen('145',false); Obmen('145',false); Obmen('146',false); Obmen('147',false); Obmen('148',false); Obmen('149',false); //Obmen('150',false); Obmen('151',false); Obmen('152',false); Obmen('153',false); Obmen('154',false); Obmen('155',false); Obmen('156',false); Obmen('157',false); //Obmen('158',false); //Obmen('159',false); Obmen('160',false); Obmen('161',false); //Obmen('162',false); Obmen('163',false); Obmen('164',false); //Obmen('165',false); Obmen('166',false); Obmen('167',false); Obmen('168',false); Obmen('169',false); Obmen('170',false); Obmen('171',false); Obmen('172',false); Obmen('173',false); Obmen('174',false); //Obmen('175',false); Obmen('176',false); Obmen('177',false); Obmen('178',false); Obmen('179',false); //Obmen('180',false); //Obmen('181',false); Obmen('182',false); Obmen('183',false); Obmen('184',false); Obmen('185',false); Obmen('186',false); Obmen('187',false); Obmen('188',false); Obmen('189',false); Obmen('190',false); Obmen('191',false); Obmen('192',false); Obmen('193',false); Obmen('194',false); Obmen('195',false); Obmen('196',false); Obmen('197',false); Obmen('198',false); Obmen('199',false); Obmen('201',false); Obmen('202',false); {Obmen('203',false); Obmen('204',false); Obmen('205',false); Obmen('206',false); Obmen('207',false); Obmen('208',false); Obmen('209',false); Obmen('210',false); Obmen('211',false); Obmen('212',false); Obmen('213',false); Obmen('214',false); Obmen('215',false); Obmen('216',false); Obmen('217',false); Obmen('218',false); Obmen('219',false); Obmen('220',false);} Obmen('221',false); Obmen('222',false); //Obmen('223',false); Obmen('224',false); Obmen('225',false); Obmen('226',false); Obmen('227',false); Obmen('228',false); Obmen('229',false); Obmen('230',false); Obmen('231',false); Obmen('232',false); Obmen('233',false); Obmen('234',false); Obmen('235',false); //Obmen('236',false); Obmen('237',false); //Obmen('238',false); Obmen('239',false); Obmen('240',false); Obmen('241',false); Obmen('242',false); Obmen('243',false); Obmen('244',false); Obmen('245',false); Obmen('246',false); Obmen('247',false); Obmen('248',false); Obmen('249',false); Obmen('250',false); Obmen('251',false); Obmen('252',false); Obmen('253',false); //Obmen('254',false); Obmen('255',false); Obmen('256',false); //Obmen('257',false); Obmen('258',false); Obmen('259',false); //Obmen('260',false); Obmen('261',false); Obmen('262',false); Obmen('263',false); //Obmen('264',false); Obmen('265',false); Obmen('266',false); Obmen('267',false); Obmen('268',false); Obmen('269',false); Obmen('270',false); Obmen('271',false); Obmen('272',false); Obmen('273',false); Obmen('274',false); Obmen('275',false); Obmen('276',false); Obmen('277',false); Obmen('278',false); Obmen('279',false); Obmen('280',false); Obmen('281',false); Obmen('282',false); Obmen('283',false); //Obmen('284',false); Obmen('285',false); Obmen('286',false); Obmen('287',false); //Obmen('288',false); Obmen('289',false); //Obmen('290',false); Obmen('291',false); //Obmen('292',false); //Obmen('293',false); //Obmen('294',false); Obmen('295',false); Obmen('296',false); Obmen('297',false); Obmen('298',false); Obmen('299',false); Obmen('300',false); Obmen('301',false); Obmen('302',false); //Obmen('303',false); Obmen('304',false); Obmen('305',false); Obmen('306',false); Obmen('307',false); Obmen('308',false); Obmen('309',false); Obmen('310',false); Obmen('311',false); Obmen('312',false); Obmen('313',false); Obmen('314',false); Obmen('315',false); Obmen('316',false); Obmen('317',false); Obmen('318',false); Obmen('319',false); Obmen('320',false); Obmen('321',false); Obmen('322',false); Obmen('323',false); Obmen('324',false); Obmen('325',false); Obmen('326',false); Obmen('327',false); Obmen('328',false); Obmen('329',false); Obmen('2001',false); Obmen('2002',false); Obmen('2003',false); Obmen('2004',false); Obmen('2007',false); Obmen('1000',false); {Virtual Key Code Corresponding key VK_LBUTTON Left mouse button VK_RBUTTON Right mouse button VK_CANCEL Control+Break VK_MBUTTON Middle mouse button VK_BACK Backspace key VK_TAB Tab key VK_CLEAR Clear key VK_RETURN Enter key VK_SHIFT Shift key VK_CONTROL Ctrl key VK_MENU Alt key VK_PAUSE Pause key VK_CAPITAL Caps Lock key VK_KANA Used with IME VK_HANGUL Used with IME VK_JUNJA Used with IME VK_FINAL Used with IME VK_HANJA Used with IME VK_KANJI Used with IME VK_CONVERT Used with IME VK_NONCONVERT Used with IME VK_ACCEPT Used with IME VK_MODECHANGE Used with IME VK_ESCAPE Esc key VK_SPACE Space bar VK_PRIOR Page Up key VK_NEXT Page Down key VK_END End key VK_HOME Home key VK_LEFT Left Arrow key VK_UP Up Arrow key VK_RIGHT Right Arrow key VK_DOWN Down Arrow key VK_SELECT Select key VK_PRINT Print key (keyboard-specific) VK_EXECUTE Execute key VK_SNAPSHOT Print Screen key VK_INSERT Insert key VK_DELETE Delete key VK_HELP Help key VK_LWIN Left Windows key (Microsoft keyboard) VK_RWIN Right Windows key (Microsoft keyboard) VK_APPS Applications key (Microsoft keyboard) VK_NUMPAD0 0 key (numeric keypad) VK_NUMPAD1 1 key (numeric keypad) VK_NUMPAD2 2 key (numeric keypad) VK_NUMPAD3 3 key (numeric keypad) VK_NUMPAD4 4 key (numeric keypad) VK_NUMPAD5 5 key (numeric keypad) VK_NUMPAD6 6 key (numeric keypad) VK_NUMPAD7 7 key (numeric keypad) VK_NUMPAD8 8 key (numeric keypad) VK_NUMPAD9 9 key (numeric keypad) VK_MULTIPLY Multiply key (numeric keypad) VK_ADD Add key (numeric keypad) VK_SEPARATOR Separator key (numeric keypad) VK_SUBTRACT Subtract key (numeric keypad) VK_DECIMAL Decimal key (numeric keypad) VK_DIVIDE Divide key (numeric keypad) VK_F1 F1 key VK_F2 F2 key VK_F3 F3 key VK_F4 F4 key VK_F5 F5 key VK_F6 F6 key VK_F7 F7 key VK_F8 F8 key VK_F9 F9 key VK_F10 F10 key VK_F11 F11 key VK_F12 F12 key VK_F13 F13 key VK_F14 F14 key VK_F15 F15 key VK_F16 F16 key VK_F17 F17 key VK_F18 F18 key VK_F19 F19 key VK_F20 F20 key VK_F21 F21 key VK_F22 F22 key VK_F23 F23 key VK_F24 F24 key VK_NUMLOCK Num Lock key VK_SCROLL Scroll Lock key VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState) VK_RSHIFT Right Shift key (only used with GetAsyncKeyState and GetKeyState) VK_LCONTROL Left Ctrl key (only used with GetAsyncKeyState and GetKeyState) VK_RCONTROL Right Ctrl key (only used with GetAsyncKeyState and GetKeyState) VK_LMENU Left Alt key (only used with GetAsyncKeyState and GetKeyState) VK_RMENU Right Alt key (only used with GetAsyncKeyState and GetKeyState) VK_PROCESSKEY Process key VK_ATTN Attn key VK_CRSEL CrSel key VK_EXSEL ExSel key VK_EREOF Erase EOF key VK_PLAY Play key VK_ZOOM Zoom key VK_NONAME Reserved for future use VK_PA1 PA1 key VK_OEM_CLEAR Clear key } end; procedure TForm1.Button2Click(Sender: TObject); var l,r:integer; begin Memo1.Lines.Clear; for r:=1 to 255 do begin Memo1.Lines.add(inttostr(r)+' '+char(r)); end ; end; procedure TForm1.Timer1Timer(Sender: TObject); var h:HWND; begin Timer1.Enabled := false; h := FindWindow('TMessageForm', nil); if H <> 0 then SendMessage(H, WM_SYSCOMMAND, SC_Close, 0); end; end.