ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

С/С++ - Как получить список всех хендлов системы
  #1  
Старый 15.10.2009, 19:09
Аватар для GenTao
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию С/С++ - Как получить список всех хендлов системы

Необходим работающий пример
 
Ответить с цитированием

  #2  
Старый 15.10.2009, 21:25
Аватар для Hiro Protagonist
Hiro Protagonist
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме:
193434

Репутация: 79
Отправить сообщение для Hiro Protagonist с помощью ICQ
По умолчанию

PHP код:

#undef UNICODE
#undef _UNICODE

#include <windows.h>
#include <stdio.h>
#include "ntdll.h" //в сети найдешь.

#define MAX_PATH 1000

SYSTEM_HANDLE_INFORMATION *GetHandlezInfo(void);

void main(void)
{

    
SYSTEM_HANDLE_INFORMATION *shiHz;
    
int i;
    
HANDLE hProcesshand;
    
shiHz GetHandlezInfo();            
    if(
shiHz)
    {                                    
        for(
0shiHz->uCount; ++i)
        {                                        
            
                
hProcess OpenProcess(PROCESS_DUP_HANDLEFALSEshiHz->aSH[i].uIdProcess);
                if(
hProcess)
                {
                    if(
DuplicateHandle(hProcessshiHz->aSH[i].HandleGetCurrentProcess(), &hand0FALSEDUPLICATE_SAME_ACCESS))
                    {
                        
printf("%d\n"hand);
                    }
                    
CloseHandle(hProcess);
                }


            
        }
        
free(shiHz);

    }

    
getch();
    return;
    

}

SYSTEM_HANDLE_INFORMATION *GetHandlezInfo(void)
{
    
HMODULE hNtDll;
    
SYSTEM_HANDLE_INFORMATION *shiHandleInfo NULL;
    
//Размер структуры с одним хэндлом (16 - размер структуры описывающий хэндл)
    
DWORD dwLen sizeof(SYSTEM_HANDLE_INFORMATION) + 16;
    
DWORD dwRetLen;

    
hNtDll GetModuleHandle("ntdll.dll");
    
_ZwQuerySystemInformation GetProcAddress(hNtDll"ZwQuerySystemInformation");
    
    
//Этот класс требует для возврата необходимого размера, чтобы ему передалась структура по размеру готовая вместить
    //один или более хэндлов
    
shiHandleInfo malloc(dwLen);
    
_ZwQuerySystemInformation(SystemHandleInformationshiHandleInfodwLen, &dwLen);
    
shiHandleInfo realloc(shiHandleInfodwLen);
    if(
_ZwQuerySystemInformation(SystemHandleInformationshiHandleInfodwLen, &dwLen) == STATUS_SUCCESS)
        return 
shiHandleInfo;
    else
        return 
NULL;

както так )
 
Ответить с цитированием

  #3  
Старый 15.10.2009, 21:56
Аватар для GenTao
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию

Ухх..а список дочерних окон ? Если известен родительский дескриптор.
 
Ответить с цитированием

  #4  
Старый 15.10.2009, 22:02
Аватар для GenTao
GenTao
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме:
143706

Репутация: -1
По умолчанию

Не пойму,какие два параметра последних передавать

Ну,реально гемор:

int main () {

HWND s;
HWND s1;
s = FindWindow(NULL,"[qip] - 292514125");
s1 = FindWindowEx(s,NULL,
system("PAUSE");

}

Хотел в цикле прогнать список дочерних и вывести хендл каждого.

lpszClass – класс элемента управления;
lpszWindow – имя, если NULL тогда поиск всех элементов класса lpszClass.

Вообще БРЕД,какие ещё элементы... мне окна нужны,только и всего.
 
Ответить с цитированием

  #5  
Старый 15.10.2009, 23:15
Аватар для Ra$cal
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

почитай чтоли книжки, чтобы не задавать настолько глупых вопросов. даже в мсдне вполне достаточно инфы по теме что такое классы, что такое элементы управления.
 
Ответить с цитированием

  #6  
Старый 16.10.2009, 18:28
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

2 GenTao мда... коректно задавай вопрос ) я тоже хотел скинуть пример с ZwQuerySystemInformation т.к хендлы системные это совсем другое понятие...

по теме... фтыкай http://msdn.microsoft.com/en-us/library/ms633497(VS.85).aspx
 
Ответить с цитированием

  #7  
Старый 19.10.2009, 15:52
Аватар для sn0w
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

BOOL EnumChildWindows( HWND hWndParent,
WNDENUMPROC lpEnumFunc,
LPARAM lParam
);

мсдн смотри
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
Как определить, что Ваш ребенок растет хакером? PHOEN_i_X Болталка 148 13.06.2010 18:02
Мой ржачный разговор в аське с кем-то вроде как с античата, как я подумал Дрэгги Болталка 21 22.07.2007 12:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ