Как я могу получить доступ к элементам управления в окне другого приложения?
Мне нужно изменить значение этих элементов управления (например, текстовые поля) или нажать на них (например, кнопки).
Я думаю, что должен использовать функции API? Но как?элементы управления доступом на других окнах
1
A
ответ
3
Смотрите SendKeys class и читать this article, вот пример из статьи:
// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName,
string lpWindowName);
// Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
// Send a series of key presses to the Calculator application.
private void button1_Click(object sender, EventArgs e)
{
// Get a handle to the Calculator application. The window class
// and window name were obtained using the Spy++ tool.
IntPtr calculatorHandle = FindWindow("CalcFrame","Calculator");
// Verify that Calculator is a running process.
if (calculatorHandle == IntPtr.Zero)
{
MessageBox.Show("Calculator is not running.");
return;
}
// Make Calculator the foreground application and send it
// a set of calculations.
SetForegroundWindow(calculatorHandle);
SendKeys.SendWait("111");
SendKeys.SendWait("*");
SendKeys.SendWait("11");
SendKeys.SendWait("=");
}
2
Посмотрите на "Spy ++": http://msdn.microsoft.com/en-us/library/dd460756.aspx
Вы можете получить доступ контроля на других окнах с ним.
2
вы должны использовать Windows API, как EnumWindow
или FindWindow
затем использовать EnumChildWindows
API, чтобы найти элементы управления в целевом окне, как и текстовое поле вы ищете, то API SetWindowText
посмотрите здесь для некоторых идей: Why is EnumChildWindows skipping children? также поиск этих имен, API здесь в Stack Overflow, и вы найдете множество примеров ...
Смежные вопросы
- 1. Элементы управления доступом ASP.NET
- 2. шаблон-манипулятор subversion для управления доступом на окнах
- 3. Элементы управления доступом asp.net с настраиваемой логикой
- 4. SAPUI5 Элементы управления доступом в элементах управления списком или таблицами
- 5. VB.Net ASP: Элементы управления доступом в элементе управления пользователя
- 6. Использование других программистов Пользовательские элементы управления
- 7. Элементы управления доступом WPF в <ResourceDictionary>
- 8. Как создать элементы управления, требующие свойств в других элементах управления?
- 9. Основы списков управления доступом
- 10. Локализация управления доступом ASP.NET
- 11. Элементы управления доступом в заголовке столбца Silverlight DataGrid из кода
- 12. Модель управления доступом на основе роликовых конвейеров
- 13. Структура управления доступом пользователей на сайте
- 14. Изменение формы управления доступом в пользовательском элементе управления
- 15. Элементы управления, используемые в приложении для погоды в окнах 8
- 16. Пользовательские элементы управления VB не изменяются в окнах 8
- 17. Имея элементы на других элементах
- 18. Отключить элементы управления проверкой на основе состояния
- 19. PHP: Архитектура механизма управления доступом
- 20. C# WPF элементы управления UserControl не в окнах
- 21. Скрыть/показать элементы управления с помощью combobox в окнах WPF
- 22. Программные элементы управления доступом на групповых ящиках, которые находятся на нескольких страницах вкладки
- 23. Преимущества элементов управления доступом ASP.NET
- 24. редактирование SVN Файл управления доступом
- 25. Объект Middleman для управления доступом?
- 26. WP7: элементы управления доступом и изменения внутри DataBox DataBox на основе данных из базы данных
- 27. WPF-сетка, выцветшая поверх других гридов, имеет неактивные элементы управления
- 28. Система управления доступом на основе php - разрешение на основе страниц
- 29. ресурсов Управление доступом на основе ролей против управления доступом на основе
- 30. Элементы управления панелью управления
Хорошо, но это безопасно? Я имею в виду, что должен использовать ключ табуляции для перемещения элементов управления броском, но что делать, если некоторые клавиши не работают? то я изменю значение другого элемента управления! Я ищу очень безопасный путь! – mrbm
Это зависит от того, для чего вы собираетесь его использовать? могут быть лучшие варианты в зависимости от того, будет ли другое окно, к которому вы хотите получить доступ, urs или нет, вы можете использовать что-то вроде: http://inputsimulator.codeplex.com/ для имитации ввода в том же окне или программы сценария для запишите макрос, который имитирует это как: http://mwganson.freeyellow.com/winkeysim/. Какова цель всего этого? – CloudyMarble
Нет, это окно не мое. Мне нужно запустить и управлять приложением, которое должно быть скрыто от пользователя, в моем собственном приложении. – mrbm