Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение хендлов форм и процессов 
:(
    Опции темы
Taron
Дата 23.7.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



В С++ это достаточно просто делается, а вот в .Нет я сталкнулся с проблемой  smile 
Получения списка хендлов форм и процессов... 
PM MAIL   Вверх
Дрон
Дата 23.7.2006, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



Ну... У класса Form (да и у других Control-ов) есть свойство Handle smile
А вот с процессом так сходу не скажу... а что вообще за процесс-то?

Добавлено @ 21:47 
Ага... естественно у класса Process тоже есть свойство Handle. Так что никакой проблемы не вижу smile 


--------------------
Да. Именно так.
PM   Вверх
Taron
Дата 23.7.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Видимо я неправильно написал вопрос.

Нужно получить список хендлов всех форм в текущем сеансе Виндовса, а не хендла своего приложения.
и аналогично с процессами.

хотелось бы увидеть конкретные функции, которые это выполняют. 
PM MAIL   Вверх
Exception
Дата 23.7.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Хм, тут тебе поможет разве что API-функция EnumWindows. 
PM   Вверх
ivashkanet
Дата 24.7.2006, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Exception @  23.7.2006,  23:55 Найти цитируемый пост)
Хм, тут тебе поможет разве что API-функция EnumWindows. 

Либо WMI 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 24.7.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Пример:

Код
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("user32.dll", SetLastError = true)]
    static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

    static void Main()
    {
        // перечисляем все процессы
        Console.WriteLine("Список процессов:");
        foreach (Process process in Process.GetProcesses())
        {
            try
            {
                Console.WriteLine(process.ProcessName + " - " + process.Handle);
            }
            catch
            {
                // может не дать доступа к некоторым процессам
            }
        }

        // перечисляем все окна
        Console.WriteLine("Список окон:");
        for (IntPtr handle = FindWindowEx(IntPtr.Zero, IntPtr.Zero, null, null);
            handle != IntPtr.Zero;
            handle = FindWindowEx(IntPtr.Zero, handle, null, null))
        {
            Console.WriteLine(handle);
        }
    }
}
 


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.