92 / 74 / 24
Регистрация: 31.03.2013
Сообщений: 254
1

Поиск дочерних окон

07.07.2014, 21:52. Показов 1597. Ответов 8
Метки нет (Все метки)

Не могу понять как осуществляется поиск дочерних окон. С главными окнами все нормально. находит
Вот код:
VB.NET
1
2
3
4
5
6
7
8
9
10
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean
End Function
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWndParent As IntPtr, ByVal hWndChildAfter As Integer, ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Window = FindWindow(vbNullString, "Главное окно")
Dim hWnd = FindWindowEx(Window, 0, vbNullString, "ОК") 
End Sub
Добавлено через 1 минуту
Что добавить? Как находить дочерние?

Добавлено через 6 минут
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2014, 21:52
Ответы с готовыми решениями:

Отслеживание дочерних окон
Я относительно недавно в программировании. Нужно было не выполнять кое-какое действие, если было...

Фон дочерних окон
Здравствуйте, в общем ситуация обстоит так, нужно создать главное окно, и при левом клике на него...

Число дочерних окон
Здравствуйте. Есть ли у главной формы свойство обозначающее число открытых дочерних форм?

Минимизация дочерних окон
Здравствуйте! Есть задание: Написать приложение, обладающее следующей функциональностью: ...

8
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
07.07.2014, 23:03 2
Глянь тут
Не получается найти дескриптор окна с одинаковым классом
1
2676 / 1994 / 367
Регистрация: 22.07.2011
Сообщений: 7,526
07.07.2014, 23:06 3
WinApi конечно хорошо , и там есть функции типа EnumWindows и т.п , но еще лучше NET решение от мелких:
http://msdn.microsoft.com/ru-r... .110).aspx
http://msdn.microsoft.com/ru-r... 63288.aspx
3
92 / 74 / 24
Регистрация: 31.03.2013
Сообщений: 254
09.07.2014, 00:59  [ТС] 4
Что-то я разобраться не могу. Нужно ещё ссылку добавлять?
Я так понимаю, что эта строчка должна импортироваться:
VB.NET
1
System.Windows.Automation
Но не видит он Automation
0
Строитель
879 / 546 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
09.07.2014, 07:55 5
.NET Framework 4.5. Обеспечивает поддержку клиентов автоматизации пользовательского интерфейса Windows Presentation Foundation (WPF).
Так что в проекте Windows Forms и если .NET Framework ниже 4.5 то эту ссылку не видно.
0
2676 / 1994 / 367
Регистрация: 22.07.2011
Сообщений: 7,526
09.07.2014, 09:13 6
Цитата Сообщение от Nord790 Посмотреть сообщение
Так что в проекте Windows Forms и если .NET Framework ниже 4.5 то эту ссылку не видно.
Не стоит буквально понимать, они так пишут на каждой странице для каждой из версий (и то не точно) , а так поддерживаемые версии начинаются с 3.0 , сборки UIAutomation* (наиболее интересная UIAutomationClient) , WinForms или WPF не имеет значения
1
829 / 637 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
12.07.2014, 00:03 7
Цитата Сообщение от sau Посмотреть сообщение
но еще лучше NET решение от мелких
Оно с обычными окнами не работает же?

Цитата Сообщение от Gilford Посмотреть сообщение
"FindWindowA" "FindWindowExA"
Неюникодные функции и русский текст - круто.
А ещё vbNullString...
И вообще, копипаст...
0
2676 / 1994 / 367
Регистрация: 22.07.2011
Сообщений: 7,526
12.07.2014, 00:29 8
Оно с обычными окнами не работает же?
почему Вы так решили ?
0
829 / 637 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
12.07.2014, 00:39 9
Цитата Сообщение от sau Посмотреть сообщение
почему Вы так решили ?
Читал где-то, что эта штука предназначена для автоматизированного доступа к .net-контролам, поскольку подход, испульзуемый для обычных окон, с .net'овскими не работает, поскольку что-то генерируется автоматически и может отличаться при разных запусках программы. Соответственно, вместо этого признака используется некий способ однозначной идентификации .net контролов. Точнее не помню. Хотя, мог и спутать с чем-то...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2014, 00:39
Помогаю со студенческими работами здесь

Определение дочерних окон
Есть программа у нее есть дочерние окна, как их определить? Как определить что открылось дочернее...

Поведение дочерних окон
Доброго времени суток. Суть вопроса такова. Есть родительская форма, она при запуске автоматически...

Перечень существующих и дочерних окон
Прошу помощи уважаемые, вот такое задали: В основном окне приложения WIN32 создать два одинакового...

Создание дочерних окон в окне
Всем привет!!! Как мне создать дочерние окна в главном окне программы,пример таких окон на...


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

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

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