Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 12.10.2011, 17:04   #1
-=Prorok=-
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 11
По умолчанию Как нажать определенную кнопку не на своем приложении.

Всем привет, возникла необходимость нажать на определенную кнопку в другом приложении, запуская свою. Если ближе к реальности. То есть моя программа1, которая запускает по ходу работу другую программу2. В конце работы программы2 вылезает окошко, которое говорит, что программа2 установлена, нажмите ОК. Вот как мне из моей программы1 нажать на этот ОК в программе 2? Пробовал каждые 10 секунд нажимать ентер программно, но в процессе установки возникают другие окна, в которых ничего не должно нажиматься. Есть какие-нить простые варианты?
-=Prorok=- вне форума Ответить с цитированием
Старый 12.10.2011, 17:30   #2
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

А если "Ок" то она номально утсновилась. Завершайте просто процесс
Guy вне форума Ответить с цитированием
Старый 12.10.2011, 17:56   #3
-=Prorok=-
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 11
По умолчанию

А как я узнаю, когда программа установилась? В неизвестный момент времени появится это окошко и как мне его подгадать, что б долго не ждать. Программа написана как раз для быстроты установки.

Из того что придумал, это определить положение кнопки ОК и жать в это место мышкой программно. Может есть варианты как это сделать лучше и проще?
-=Prorok=- вне форума Ответить с цитированием
Старый 12.10.2011, 19:45   #4
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 444
По умолчанию

WinApi вам в помощь
Самый перспективный framework Yii (c)

Последний раз редактировалось TranceSmile; 12.10.2011 в 20:05.
TranceSmile вне форума Ответить с цитированием
Старый 13.10.2011, 11:20   #5
-=Prorok=-
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 11
По умолчанию

никак не могу разобраться с винапи? Может кто ссылку даст, где четко прописано - вот функция, вот такие у нее есть параметры, вызывается так и так! А то сколько не хожу какие-то левые примеры, толком никто ничего не объясняет. ТАкое ощущение, что это все известно блин с рождения. Единственное, что вроде как понял.

Надо сначала написать:
Код:
[DllImport("user32.dll", EntryPoint = "WM_SETFOCUS")]
        public static extern IntPtr SetFocus();
Тут значит я задаю в библиотеке точку входу и говорю установить фокус. Потом прописываю в каком методе это будет использоваться. Но как прописать что вот это окно, с таким-то названием и текстом должно появиться и в нем нажмется определенная кнопка не понял. Может кто скажет или ссылку даст? желательно на русском.
-=Prorok=- вне форума Ответить с цитированием
Старый 13.10.2011, 12:39   #6
DenisLin
 
Регистрация: 13.10.2011
Сообщений: 6
По умолчанию

Определяете handle приложения, которое вы запускаете. Это не сложно. Затем ищете по названию свою кнопку "ОК" среди окон данного приложения, определяете ее координаты. Устанавливаете курсор мышки в это место и щелкаете.

Для работы с мышкой думаю будет понятно, а остальное поищи в инете

Код:
BigX := Round(StrToInt(EditBigX.Text) * (65535 / Screen.Width));
BigY := Round(StrToInt(EditBigY.Text) * (65535 / Screen.Height));

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, BigX, BigY, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, BigX, BigY, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, BigX, BigY, 0, 0);
DenisLin вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать бесконечное авто-нажатие на определенную кнопку на сайте zheka100pudov JavaScript, Ajax 4 16.03.2011 02:53
Как нажать клавишу на клавиаруте в другом приложении BoT_T Общие вопросы Delphi 10 28.12.2010 19:27
Как нажать на кнопку в программе. arach Win Api 6 07.09.2010 19:50
Как нажать кнопку в TWebBrowser duhduhduh Компоненты Delphi 0 03.05.2010 13:49
Как нажать кнопку другого приложения? TwiX Общие вопросы Delphi 2 29.07.2009 19:08