3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
|
|
1 | |
Получить список открытых окон программ28.01.2011, 19:44. Показов 12021. Ответов 12
Метки нет (Все метки)
Собсно сабж.
Задача: получить список всех окон, и через SprPos прогнать каждое на наличие слова (hack к примеру). Далее по имени окна вычислить PID и выгрузить процесс <-- это не проблема Сделать цикл для проверки в принципе тоже не составило труда, но работает только в случае, если я сам, вручную, забиваю список окон, что не есть приемлемо. Поскольку я новичёк, работа с EnumChildWindows и прочими EnumDesktopWindows мне пока не даётся. Основной задачей является поиск запущенных читов, ака хаков на компьютере пользователя. Искать соответственно необходимо несколько слов, которые я храню в Memo (юзер его не видит). Храню в Memo т.к. хотел обойтись без массивов, из-за того, что программа с сервера периодически обновляет список искомых слов => меняется кол-во элементов. Прошу помочь мне со списком этих чёртовых окон, замучился уже ужОс как. Ни гугл ни яндекс толком ничего мне не помогли найти.
0
|
28.01.2011, 19:44 | |
Ответы с готовыми решениями:
12
Список всех открытых окон в Windows Как получить список открытых окон? Как получить список открытых окон? Как получить список открытых окон? |
Заблокирован
|
||||||
28.01.2011, 23:04 | 2 | |||||
не дается ему ...
2
|
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
|
|
29.01.2011, 01:56 [ТС] | 3 |
Спасибо большое!
Слегка подправил, убрал вывод имён классов, соответственно появившихся пустых строк и убрал вывод каких-то системных значений, типа Default IME и MSCTFIME UI. Ещё такой вопрос: я использую цикл for, совершая его столько раз, сколько строк в листбоксе со списком окон, после чего очищаю всё, снова получаю список окон, проверяю и так далее. Как вы думаете стоит оставить так, или такой метод может сильно загрузить компьютер?
0
|
Заблокирован
|
||||||||||||||||
29.01.2011, 02:04 | 4 | |||||||||||||||
для чего терзать листбокс ? изначально заносите нужные строки в StringList
0
|
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
|
||||||
29.01.2011, 04:29 [ТС] | 5 | |||||
Ну я просто не так выразился... маловато терминов знаю просто))
В плане терзания - почему терзаю?) Во-первых это её работа такая, а во-вторых я убираю лишние строки до ввода в листбокс. Та и помню преподаватель в пример написал программу, которая шифровала текст, так там каждая строка в мемо за цикл изменялась n раз, где n - 6-и значный ключ шифрования <- вот это терзание) Ещё такой вопрос: в цикле for работает ещё один for внутри которого уже if. Как я писал, каждое значение из списка окон проверяется на наличие текста, из списка "запрещённых" слов, таким образом у меня получается:
0
|
Заблокирован
|
|||||||||||
29.01.2011, 05:06 | 6 | ||||||||||
сложно сказать - нет конкретного кода, если у вас что-то типа
Добавлено через 4 минуты попалось на глаза Добавлено через 2 минуты
0
|
3 / 3 / 0
Регистрация: 10.07.2009
Сообщений: 101
|
|
29.01.2011, 05:13 [ТС] | 7 |
Нет ну я же не настолько новичок, что бы при помощи одной и той же переменной совершать разных 2 цикла)))
К слову в PHP я это всё написал за 10 минут (без окон правда, там получал списки файлов и файлов в подкатегориях), но хоть и php си-подобный язык - я на си пока что очень плохо пишу, и многие ответы, советы и решения приходится искать в интернете. Что касается хранения - сейчас я покамес храню в ListBox-е, только для того, что бы видеть своими глазами что и с чем сравнивается, а если программа словила - пишет в мемо что словила и откуда. Плюс ко всему - строки берутся из зашифрованного файла. Пока пишу - необходимо отладить всё, соответственно необходимо видеть расшифровала программа текст или нет. Ещё такой вопрос: TcpServer может получить IP адрес от TcpClient? Без Indy (рановато мне), и прочих заморочек, типа сервиса WhoIs?
0
|
Заблокирован
|
|
29.01.2011, 05:31 | 8 |
попалось совершенно случайно http://abitur.bsuir.by/m/12_116608_1_52046.pdf что-то там есть и про WhoIs
1
|
2 / 2 / 0
Регистрация: 23.03.2011
Сообщений: 23
|
|
21.09.2012, 01:22 | 9 |
В Builder 2009 выдает ошибки:
[BCC32 Error] Unit1.cpp(21): E2034 Cannot convert 'wchar_t *' to 'char *' [BCC32 Error] Unit1.cpp(21): E2342 Type mismatch in parameter 'lpString' (wanted 'char *', got 'wchar_t *') [BCC32 Error] Unit1.cpp(22): E2034 Cannot convert 'wchar_t *' to 'char *' [BCC32 Error] Unit1.cpp(22): E2342 Type mismatch in parameter 'lpClassName' (wanted 'char *', got 'wchar_t *') Подскажите, пожалуйста, в чем дело и как с этим бороться?
0
|
2 / 2 / 0
Регистрация: 23.03.2011
Сообщений: 23
|
|
21.09.2012, 08:15 | 11 |
Все равно не собралось:
[BCC32 Error] Unit1.cpp(19): E2188 Expression syntax [BCC32 Error] Unit1.cpp(20): E2451 Undefined symbol 'Buff' [BCC32 Error] Unit1.cpp(20): E2062 Invalid indirection [BCC32 Error] Unit1.cpp(21): E2451 Undefined symbol 'NameOfClass' [BCC32 Error] Unit1.cpp(21): E2062 Invalid indirection [BCC32 Error] Unit1.cpp(23): E2188 Expression syntax [BCC32 Warning] Unit1.cpp(24): W8070 Function should return a value [BCC32 Error] Unit1.cpp(28): E2109 Not an allowed type [BCC32 Error] Unit1.cpp(29): E2062 Invalid indirection Если без * Код
[CODE]BOOL EnumWindowsProc(HWND hWnd, long lParam) { wchar_t Buff[255], NameOfClass[255]; // char - для ВСВ6 GetWindowText(hWnd, Buff, 254); GetClassName(hWnd, NameOfClass, 254); *// clasa Form1->ListBox1->Items->Add(AnsiString(Buff) + " ("+AnsiString(NameOfClass) + ")" ); return TRUE; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->ListBox1->Clear(); EnumWindows((WNDENUMPROC)EnumWindowsProc, 0); } //--------------------------------------------------------------------------- получаю ошибку [BCC32 Error] Unit1.cpp(22): E2062 Invalid indirection ?
0
|
2 / 2 / 0
Регистрация: 23.03.2011
Сообщений: 23
|
||||||
22.09.2012, 01:15 | 13 | |||||
Не подскажите, каким образом реализовали? Т.к. для меня строки типа
0
|
22.09.2012, 01:15 | |
22.09.2012, 01:15 | |
Помогаю со студенческими работами здесь
13
Список открытых окон Список открытых в XWindow окон Как получить названия всех открытых окон? Можно ли в цикле получить все titles открытых окон? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |