Пару вопросов на счет окон.
Как получить список всех открытых окон? (их handle)
Как узнать координаты и размеры окна по его handle. Как изменить координаты и размеры окна по его handle. Как прочитать заголовок окна по его handle. ??? |
Ответ: Пару вопросов на счет окон.
Вам дорога в WinAPI. Стандартных средств в NetFramework вроде нет для таких целей.
Получение окон: PHP код:
PHP код:
и т.д. Вобщем ищите тут: Window Functions |
Ответ: Пару вопросов на счет окон.
Кстати, ради интереса.
Что означают эти флаги?) CharSet = CharSet.Auto, SetLastError = true кстати заметил багу +) У выдоваемого прямоугольника свойства Height и Width эквивалентны значениям Bottom и Right(тем что должны быть на самом деле). Bottom и Right получаются совсем бредовыми, т.к. они равны Height + Top и Width + Left соответственно. Но при неправильных Height и Width , получается что Bottom = Height + 2*Top и Right = Width + 2*Left (с правильными Height и Width). |
Ответ: Пару вопросов на счет окон.
Учитесь справкой пользоваться ;)
http://msdn.microsoft.com/ru-ru/libr...tribute. aspx |
Ответ: Пару вопросов на счет окон.
Прошу прощения. Я совсем начинающий программист и обладаю минимальными познаниями. Я медленно и уверено продолжаю своё обучение. И пробую написание простейших программ. У меня убедительная просьба не игнорить меня как это делали на других форумах.
Дело в том что я столкнулся с проблемой(для меня) это API(EnumWindows function в частности), и ни как не могу понять принцип её работы. И не могу найти подходящей для меня(чайника) статьи урока на русском где разжёвано описывалось нужная информация. Я прошу помогите найти что-нибудь. Или попробуйте объяснить как мне использовать эту функцию EnumWindows function . Я хочу вывести все окна выбранного мной процесса на консоль. Привожу код. Может быть поправите мой код полностью , а я попробую сообразить что и как для чего делалась. Постараюсь больше не кляньчить ... Код:
using System; |
Ответ: Пару вопросов на счет окон.
Я думаю тебе поможет второй ответ вот тут: http://stackoverflow.com/questions/2...cess-using-net
|
Ответ: Пару вопросов на счет окон.
Спасибо. Код делает именно то что мне нужно. Пытаюсь понять как он работает, но без подходящего урока нечего не выходит.
|
Ответ: Пару вопросов на счет окон.
EnumThreadWindows - перебирает окна указанного потока
EnumerateProcessWindowHandles - для переданного id процесса получает все потоки и для каждого потока вызывает функцию EnumThreadWindows с лямбда-выражением - функция которая записывает хэндлы окон в коллекцию. SendMessage с мессаджем WM_GETTEXT получает текст окна по его хэндлу, потом этот текст выводится в консоль. |
Ответ: Пару вопросов на счет окон.
Вопрос немного про другую функцию
FindWindow("Class", "Windows") Можноли присвоить с помощью её указатель на окно зная только имя класса? Название окна постоянно меняется, а окно с нужным классом единственное. |
Ответ: Пару вопросов на счет окон.
Сам нашёл ответ на свой глупый вопрос, может быть кому-то будет полезным.
Вместо неизвестного имени окна ставим значение null FindWindow("Class", null) Поправьте если чтото не так. И сразу возникает второй вопрос. А если всёже этих окон будет больше чем одно. Как присвоить каждому указатель на окно? |
Ответ: Пару вопросов на счет окон.
Как должна выглядеть запись чтобы FindWindow искало только в указанном процессе?
|
Ответ: Пару вопросов на счет окон.
Собрал в один исходник
PHP код:
|
Ответ: Пару вопросов на счет окон.
Спасибо большое, за твою помощь. Сейчас буду вникать в твой код.
У меня появился ещё вопрос. Про функцию EnumChildWindows. Console.WriteLine(EnumChildWindows(hwnd, xxx, yyy ); Что нужно указать вместо ххх и yyy? Привожу код. Код:
using System; |
Ответ: Пару вопросов на счет окон.
Примерно так:
PHP код:
|
Ответ: Пару вопросов на счет окон.
Спасибо ещё раз, материала переваривать предостаточно +_-
|
Часовой пояс GMT +4, время: 07:33. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot