12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 434
1

WinAPI: Как нажать кнопку в другом приложении, если в нем открыто модальное окно

03.11.2012, 22:44. Показов 2686. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем есть пару вопросов;

1) Как по заголоку окна узнать имя класса
2)
C#
1
2
3
4
5
6
7
     int hwnd = 0;
            IntPtr hwndChild = IntPtr.Zero;
            hwnd = FindWindow(null, "Form1");
            
           IntPtr hwndFrame = FindWindowEx((IntPtr)hwnd, new IntPtr(0),              "WindowsForms10.BUTTON.app.0.2bf8098_r11_ad1", null);
            SendMessage((int)hwndFrame, BN_CLICKED, 0, IntPtr.Zero);
            hwndChild = FindWindowEx((IntPtr)hwndFrame, IntPtr.Zero, "Form2", null);
Накатал тестовую прогу.На ней форма с кнопкой. При нажатии на кнопку открывается модальное окно.

Так вот. Я пишу другую программу которая будет нажимать эту кнопку на форме. Вроде все гуд. Нажатие клавиши эмулируется норм. Вот тока пока я не закрою модальное окно моя программа не работает, то есть тупо ждет пока закроют ту форму.

Надеюсь понятно все объяснил. Если требуются разъснению пишите в тему
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2012, 22:44
Ответы с готовыми решениями:

Как проверить открыто ли окно в другом приложении
Нужна помощь в написании программы. В общем, есть программа, которая управляет другой программой...

Как нажать кнопку в другом приложении
ситуация следующая... при запуске моей программы нужно что бы в другом приложении например...

Как нажать на кнопку в другом приложении?
Как нажать на кнопку в другом приложении? Захватываю я его так: static...

Как нажать программно кнопку в другом приложении
День добрый! Возник вопрос программно нажать в другом приложении кнопку; примеры видел, не все...

1
Почетный модератор
Эксперт .NET
8717 / 3669 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
04.11.2012, 03:58 2
Цитата Сообщение от Radzhab Посмотреть сообщение
Как по заголоку окна узнать имя класса
Если есть дескриптор окна - GetClassName, если нет дескриптора (т.е. например с помощью FindWindow не найти - заголовок динамический), тогда перечисление всех окон (EnumWindows) и выборка нужного.
Цитата Сообщение от Radzhab Посмотреть сообщение
Так вот. Я пишу другую программу которая будет нажимать эту кнопку на форме. Вроде все гуд. Нажатие клавиши эмулируется норм. Вот тока пока я не закрою модальное окно моя программа не работает, то есть тупо ждет пока закроют ту форму.
Используйте PostMessage вместо SendMessage.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2012, 03:58
Помогаю со студенческими работами здесь

Нажать на кнопку в другом приложении
Доброго дня! Из программы запускается процесс стороннего приложения, открывается вордовский...

Не получается нажать кнопку в другом приложении
Делаю приложение-кликер, которое будет закрывать окна с ошибкой в приложении, установленном на ПК....

Нажать на кнопку в стороннем приложении, используя WinAPI
Здравствуйте в кратце Нужно на c# и winapi реализовать данное сообщение "WM_PARENTNOTIFY...

Нажать кнопку в другом приложении с использованием Win32 API
public partial class Form1 : Form { public static extern IntPtr...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru