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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите определить хендл 
:(
    Опции темы
transparent
Дата 25.8.2011, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот этим кодом я перечисляю в список работающие процессы  - где указываю их хендл...Process.Handle - но хэндлы получаются какие то кароткие - и в принципе все понарастающие идут - то есть первый в списке имеет хэндл 7330 следующий 7331 и т.д. Полный бред.
Если через Process.MainWindowHandle -  то половина процессов отображаются с нулями...Как удалось выяснить эти нули у процессов у которых нет визуальных окон(ну или еще какие качества)..А вот у тех процессов окна которые есть(видны) - хендлы нормально отображаются - хэндлы длинные и разные.

Как исправить нули????

Может для определения хэндла лучше использовать АПИ?
Если да то какие апи, и как это лучше применить с данным вариантом кода?

Код

  Dim listId As New List(Of Integer)

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ListView1.BeginUpdate()
        For Each pr As Process In Process.GetProcesses
            Try
                ImageList1.Images.Add(System.Drawing.Icon.ExtractAssociatedIcon(pr.MainModule.FileName))
                ListView1.Items.Add(String.Concat(pr.ProcessName, ".exe"))
                ListView1.Items(ListView1.Items.Count - 1).ImageIndex = ImageList1.Images.Count - 1
                ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(pr.Id)
                ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(pr.PriorityClass)
                ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(pr.Threads.Count())
                ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(pr.MainWindowHandle)
                listId.Add(pr.Id)
            Catch ex As Exception
            End Try
        Next
        ListView1.Items(0).Selected = True
        ToolStripStatusLabel1.Text = "Process Loaded: " & Process.GetProcesses.Length
        ListView1.EndUpdate()
    End Sub


Кстати с айди тоже какая то не понятка..6(
PM MAIL   Вверх
krewin
Дата 25.8.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



почему тебе проще не использовать pr.Handle ?
PM MAIL   Вверх
transparent
Дата 26.8.2011, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

- где указываю их хендл...Process.Handle - но хэндлы получаются какие то кароткие - и в принципе все понарастающие идут - то есть первый в списке имеет хэндл 7330 следующий 7331 и т.д. Полный бред

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

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

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


 




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


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

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