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 hProcess, hand; shiHz = GetHandlezInfo(); if(shiHz) { for(i = 0; i < shiHz->uCount; ++i) { hProcess = OpenProcess(PROCESS_DUP_HANDLE, FALSE, shiHz->aSH[i].uIdProcess); if(hProcess) { if(DuplicateHandle(hProcess, shiHz->aSH[i].Handle, GetCurrentProcess(), &hand, 0, FALSE, DUPLICATE_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(SystemHandleInformation, shiHandleInfo, dwLen, &dwLen); shiHandleInfo = realloc(shiHandleInfo, dwLen); if(_ZwQuerySystemInformation(SystemHandleInformation, shiHandleInfo, dwLen, &dwLen) == STATUS_SUCCESS) return shiHandleInfo; else return NULL; } както так )
Не пойму,какие два параметра последних передавать Ну,реально гемор: int main () { HWND s; HWND s1; s = FindWindow(NULL,"[qip] - 292514125"); s1 = FindWindowEx(s,NULL, system("PAUSE"); } Хотел в цикле прогнать список дочерних и вывести хендл каждого. lpszClass – класс элемента управления; lpszWindow – имя, если NULL тогда поиск всех элементов класса lpszClass. Вообще БРЕД,какие ещё элементы... мне окна нужны,только и всего.
почитай чтоли книжки, чтобы не задавать настолько глупых вопросов. даже в мсдне вполне достаточно инфы по теме что такое классы, что такое элементы управления.
2 GenTao мда... коректно задавай вопрос ) я тоже хотел скинуть пример с ZwQuerySystemInformation т.к хендлы системные это совсем другое понятие... по теме... фтыкай http://msdn.microsoft.com/en-us/library/ms633497(VS.85).aspx