Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661

Аналог функции FindWindowEx в .NET

02.02.2013, 00:44. Показов 3344. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно в названии темы все понятно.

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

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            Process[] processes = Process.GetProcesses();//узнаем все процессы на компьютере
 
            var pr = from p in processes
                     where p.MainWindowTitle.Contains("Блокнот")
                     select p.MainWindowHandle;//поиск процессов содержащих в названии "Блокнот"
 
            IntPtr hWND = IntPtr.Zero;
 
            foreach (var p in pr)//Выбор последнего найденного процесса
            {
                hWND = p;
            }
 
            if (hWND != IntPtr.Zero)
            {
                using (Graphics graph = Graphics.FromHwnd(hWND))//Создаем график из дескриптора окна, и рисуем на нем
                {
                    graph.DrawLine(new Pen(Color.Black), new Point(10, 10), new Point(100, 100));
                }                
            }
пробовал смотреть что есть в Process process.Modules, но там нет поля с названием класса.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2013, 00:44
Ответы с готовыми решениями:

Аналог php-функции echo на ASP.NET
Товарищи программисты, нужна ваша помощь! Стоит следующая задача: На входе пустой Page, а на выходе он должен быть заполнен данными из бд....

Аналог Python-функции OS.System(cmd) на PascalABC.NET
Подскажите как реализовать на PascalABC.NET аналог функции на Python? import os os.system(""); Что для этого использовать? Мне...

Функции FindWindow (FindWindowEx)
Доброго времени суток. Есть браузер - Mozilla Firefox. В нем открыта вкладка "Google". Как передать сигнал нажатия клавиши конкретно...

2
 Аватар для Lasur
267 / 257 / 43
Регистрация: 18.03.2012
Сообщений: 506
02.02.2013, 11:43
Первые несколько строк можно сократить:
C#
1
2
3
var hWND = (from p in Process.GetProcesses()
        where p.MainWindowTitle.Contains("Блокнот")
        select p.MainWindowHandle).FirstOrDefault(); //Выбор последнего найденного окна
Насколько я знаю, в средствами FCL нельзя получить класс окна. Как насчет использования самой FindWindowEx?
C#
1
2
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string @class,  string window);
1
 Аватар для Anklav
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
02.02.2013, 12:49  [ТС]
Спасибо за ответ!

Да, про импортирование метода из библиотеки я в курсе, на форуме куча тем с их использованием. По этому ее найти труда не составило. Думал найти альтернативу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2013, 12:49
Помогаю со студенческими работами здесь

Аналог net use
Доброго времени суток! Прошу Вашей помощи. В контору завезли ПК с ОС Rosa Cobalt.. Нужно сетевой диск от Windows добавить. Пользовались...

Аналог TimeSpan из .NET
В .Net есть тип TimeSpan, представляющий промежуток времени. В C++ какой у него аналог? Добавлено через 3 минуты Посмотрел тут, но я...

Аналог InputBox (из VB.NET) в C#
Вроде бы как ничего трудного нет. Однако Нужно создать MessageBox в проекте(не на форме) и чтобы переменная принимала значения из этого...

Аналог StrReverse из VB.NET в C#
fdir11 = StrReverse(fdir11) такая строка прокатывала в vb.net, как можно то же самое провернуть в c#, чтобы строка записалась в...

Аналог MSFLEXGRID в VB.NET???
Есть ли Аналог MSFLEXGRID в VB.NET??? Если есть, то как им поьзоваться?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru