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

Getting AIM buddies list.
  #1  
Старый 10.04.2010, 00:38
KaE
Новичок
Регистрация: 27.09.2009
Сообщений: 28
Провел на форуме:
404511

Репутация: 0
По умолчанию Getting AIM buddies list.

Приветствую,

Пишу софтину, пытающуюся сграббить всех клиентов, которые находятся в режиме онлайн в главном окне мессенджера 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.

Последний раз редактировалось KaE; 10.04.2010 в 00:59..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стереотипы: goto Algol С/С++, C#, Delphi, .NET, Asm 52 26.12.2009 17:23
IRC RusNet - полезная информация yeti Чаты 19 10.12.2009 22:05
Cisco - доступ к свитчу Acetoacidophilum Безопасность 0 24.07.2009 19:27
ICQ AIM tools 2006 v 2.5 ProTeuS ICQ 5 24.10.2006 00:19
Nik9 Sulf aka Joker Болталка 40 17.07.2006 16:28



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


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




ANTICHAT.XYZ