Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194

Мониторинг действий приложений

09.03.2016, 12:45. Показов 3806. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Мне хотелось бы узнать имеются ли такие программы которые анализировали команды которые происходят в операционной системы и команды которые отправляют другие программы, чтобы всё это анализировать и с помощью vb net автоматизировать эти действие я имею виду программы типа "http analayzer v7" только для анализ не http а компьютерных или программных команд! Заранее Спасибо)))!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2016, 12:45
Ответы с готовыми решениями:

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

Мониторинг действий: изменение содержимого корневой папки, запуск приложений и т.д.
Всем привет! Хочу написать программу для мониторинга действий: изменение содержимого корневой папки, запуск приложений, отслеживание...

Мониторинг частоты использования приложений
Доброго вечера (дня, утра, ночи - нужное прочитать) Столкнулся со следующими мыслями - Есть некий пользовательский ПК и установленное на...

26
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
11.03.2016, 14:57  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Jason Посмотреть сообщение
Ваш CheckBox находится в панели, а значит дескриптор не найден -> равен 0.
и что это значить и как решить эту проблему?!

Добавлено через 2 минуты
да я понял, значить isend sms не является близким родителям этой Tcheckbox -а!
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
11.03.2016, 14:59
Вам надо найти дескриптор окна, после этого найти в родительском дескрипторе дескриптор GroupBox, потом уже в родительском дескрипторе (т.е. в дескрипторе GroupBox'a) найти CheckBox и потом передать ему нажатие кнопки:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim HWND As IntPtr = FindWindow(vbNullString, "iSendSMS - Отправка SMS/MMS сообщений")
        If HWND <> 0 Then
            Dim HGroupBox As IntPtr = FindWindowEx(HWND, 0, "TGroupBox", "Дополнительные параметры")
            If HGroupBox <> 0 Then
                Dim HComboBox As IntPtr = FindWindowEx(HGroupBox, 0, "TCheckBox", "Указать время доставки")
                If HComboBox <> 0 Then
                    SendMessage(HComboBox, WM_KEYDOWN, Keys.Space, 0)
                    SendMessage(HComboBox, WM_KEYUP, Keys.Space, 0)
                End If
            End If
        Else
            MsgBox("Окно не найдено!")
        End If
    End Sub
1
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
16.03.2016, 11:53
Не страшно, если я сюда вопрос в тему добавлю?
Вроде немного разобрался как искать хэндлы разных элементов и как пользоваться программой Spy++. А как получить текст из ComboBox`а? Spy++ показывает искомое значение, а GetWindowText возвращает пустое. Даже уже пробовал с помощью Spy++ найти нужный хэндл и просто его подставить в код программы, все равно пустое значение возвращает. И еще вопрос вдогонку, а можно как-то получить значения всех строк ComboBox`а, а не только выбранной?
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
16.03.2016, 16:53
TigerHawk, посмотрите эту тему: Поиск в системе окон без заголовков, чуть ниже.
Скорее всего, нужно получить дескриптор ListBox'a (пример ниже) и из этого дескриптора получать список, а текст из ComboBox'a не знаю, почему не возвращается (он не пустой?) или попробуйте из Edit'a получить текст (в примере получаем всю информацию ComboBox'a):
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Class Form1
    <DllImport("user32.dll")>
    Public Shared Function GetComboBoxInfo(ByVal hWnd As IntPtr, ByRef pcbi As COMBOBOXINFO) As Boolean
    End Function
    <StructLayout(LayoutKind.Sequential)>
    Public Structure COMBOBOXINFO
        Public cbSize As Int32
        Public rcItem As Rectangle
        Public rcButton As Rectangle
        Public buttonState As ComboBoxButtonState
        Public hwndCombo As IntPtr
        Public hwndEdit As IntPtr
        Public hwndList As IntPtr
    End Structure
 
    Public Enum ComboBoxButtonState
        STATE_SYSTEM_NONE = 0
        STATE_SYSTEM_INVISIBLE = &H8000
        STATE_SYSTEM_PRESSED = &H8
    End Enum
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim cbi As COMBOBOXINFO
        cbi.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(cbi)
        If GetComboBoxInfo(ComboBox1.Handle, cbi) Then
            '...
        End If
    End Sub
End Class
0
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
21.03.2016, 08:44
Перепробовал кучу разных вариантов, вплоть до тупого перечисления всех элементов на форме и попытки прочитать из них текст. В итоге с кнопок и чекбоксов читается без проблем, а из комбобокса удалось текст выцепить только вот такой функцией, найденной на просторах интернета:
VB.NET
1
2
3
4
5
6
7
8
    Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    Declare Function SendMessageByString Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
    Function GetText(ByVal WindowHandle As IntPtr)
        Dim TextLen As Integer = SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0) + 1
        Dim Text As String = New String(" "c, TextLen)
        SendMessageByString(WindowHandle, WM_GETTEXT, TextLen, Text)
        Return Text
    End Function
Добавлено через 6 минут
0
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
12.04.2016, 09:46
Немного продолжу тему мониторинга сторонних программ. Есть хэндл кнопки, но на нее надо нажать, только если у нее статус Enabled=True. Подскажите, пожалуйста, как проверить Enabled кнопки?
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.04.2016, 00:48
TigerHawk, можно попробовать так:
VB.NET
1
2
3
<DllImport("user32.dll")> _
Private Shared Function IsWindowEnabled(ByVal hWnd As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2016, 00:48

Мониторинг запущенных клиентских приложений службой, работающей на сервере
Всем доброго дня! Возник такой вопрос: Есть приложение, работающее с базой MS SQL. Оно подразделяется, как водится, на клиентскую и...

Мониторинг действий пользователей
Несколько пользователей пользуются БД, вводят данные в 4 таблицы из различных форм, также и редактируют их, данные в смысле. Бывают случаи,...

мониторинг действий пользователя
Помогите пожалуйста написать программу мониторинг действий пользователя.Или хотя б код проги скиньте. Задачи. 1) Список запуска...

Мониторинг действий доменного пользователя
Здравствуйте! Подскажите пожалуйста как организовать мониторинг доменного или локального пользователя Что требуется Авторизация \...

Программа-мониторинг для просмотра действий
Подскажите,где можно найти программу, позволяющую с одного компа просматривать действия пользователя на другом компе?Ну,типа следить и...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru