Ребята помогите написать батник или реализовать это по другому! Значит я запускаю програму и мне надо нажать в ней кнопку, или с эмулировать нажатия кнопки ентер, возможно такое с помощью батника сделать?
на винапи можно(на батнике думаю нельзя): PHP: #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { HWND hwnd; if(hwnd = FindWindow(NULL, TEXT("Пуск"))) { SendMessage(hwnd, WM_LBUTTONDOWN, NULL, NULL); } return 0; }
эмуляция нажатия любой клавиши... Эмуляция нажатий клавиш - как я делал в Delphi... Пишешь процедурку... procedure TForm1.SetKey(Key:Integer); begin keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0); keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); end; потом вызываешь её когда тебе нужно: SetKey(13); //ASCII код Enter-а... Если начнет ругаться - значит какой-то uses нужно добавить... У меня были такие: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, mmsystem;
если программа консольная то и батник сойдет открой блокнот нажми энтер и сохрани txt файл типа lolo.txt потом напиши батник start proga.exe < lolo.txt и будет тебе щастье если прога оконная то без вин апи тут не обойтись.
Gar|k: есть кнопка, следовательно она не консольная spite, Chaak тебе уже ответил. Компиль, а потом можешь созать батник, который будет прогу запускать
функция FindWindow возвращает handle, top-level окна и поэтому такой вариант не всегда будет работать.
PHP: static BOOL CALLBACK HandleChildWindow(HWND hChildWindow, LPARAM Param) { PostMessage(hChildWindow, WM_KEYDOWN, VK_NUMPAD1, 0); return TRUE; } void SimulateKeyDown() { HWND hCalcWindow = FindWindow(NULL, "Калькулятор"); if (hCalcWindow != NULL) { EnumChildWindows(hCalcWindow, &HandleChildWindow, 0); } } Примерчик для выше указанного