Приветствую, Пишу софтину, пытающуюся сграббить всех клиентов, которые находятся в режиме онлайн в главном окне мессенджера AIM. Суть следующая: BSTR GetInternetExplorerText(HWND hWnd); .... fprintf(stderr, "Getting __oxFrame.class__ handle..."); HWND oxFrame = FindWindow("__oxFrame.class__", NULL); if(oxFrame == NULL) { fprintf(stderr, "[FAIL] exiting.\n"); return 0; } fprintf(stderr, "[OK]\n"); HWND oxFrame1 = FindWindowEx(oxFrame, 0, "__oxFrame.class__", NULL); oxFrame1 = FindWindowEx(oxFrame, oxFrame1, "__oxFrame.class__", NULL); oxFrame1 = FindWindowEx(oxFrame, oxFrame1, "__oxFrame.class__", NULL); HWND ie = FindWindowEx(oxFrame1, 0, "_AIMBROWSER_", NULL); ie = FindWindowEx(ie, 0, "_AIMBROWSER_TH", NULL); ie = FindWindowEx(ie, 0, "Shell Embedding", NULL); ie = FindWindowEx(ie, 0, "Shell DocObject View", NULL); ie = FindWindowEx(ie, 0, "Internet Explorer_Server", NULL); и чуть пониже: BSTR GetInternetExplorerText(HWND hWnd) // by Napalm { BSTR bsResult = (BSTR)NULL; if(!hWnd) { printf("!!!!!!!!!!!!!!!!!!!!!!"); return bsResult; } IHTMLDocument *pHTMLDoc = NULL; IDispatch *pDispatch = NULL; IHTMLWindow2 *pHTMLWin = NULL; IHTMLDocument2 *pHTMLDoc2 = NULL; IHTMLElement *pHTMLBody = NULL; UINT uMsg = RegisterWindowMessage("WM_HTML_GETOBJECT"); LRESULT lResult = 0; SendMessageTimeout(hWnd, uMsg, 0, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&lResult); if(!lResult) { fprintf(stderr, "!!!!!!\n"); return bsResult; } if(FAILED(ObjectFromLresult(lResult, IHTMLDocument2, 0, (void **)&pHTMLDoc))) {fprintf(stderr, "111!!!!!!\n");goto label_cleanup;} if(FAILED(pHTMLDoc->get_Script(&pDispatch))) {fprintf(stderr, "222!!!!!!\n");goto label_cleanup;} if(FAILED(pDispatch->QueryInterface(IID_IHTMLWindow2, (void **)&pHTMLWin))) {fprintf(stderr, "333!!!!!!\n");goto label_cleanup;} if(FAILED(pHTMLWin->get_document(&pHTMLDoc2))) {fprintf(stderr, "444!!!!!!\n");goto label_cleanup;} if(FAILED(pHTMLDoc2->get_body(&pHTMLBody))) {fprintf(stderr, "555!!!!!!\n");goto label_cleanup;} pHTMLBody->get_outerHTML(&bsResult); label_cleanup: if(pHTMLBody) pHTMLBody->Release(); if(pHTMLDoc2) pHTMLDoc2->Release(); if(pHTMLWin) pHTMLWin->Release(); if(pDispatch) pDispatch->Release(); if(pHTMLDoc) pHTMLDoc->Release(); return bsResult; } //---Возникает проблема: ObjectFromLresult(lResult, IHTMLDocument2, 0, (void **)&pHTMLDoc) // Эта функция падает в данном контексте Remarks: Не особо силен в программировании под Win.