Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Skype API - как обойти подтверждение (https://forum.antichat.xyz/showthread.php?t=202618)

two2off 08.05.2010 16:50

Skype API - как обойти подтверждение
 
Кто-нибудь знает как обойти подтверждение Скайпа на использование приложения, использующего Skype API? Методами Skype API, скорее всего, никак, но может кто знает другое решение?

two2off 08.05.2010 17:27

Простите, лоханулся. Была тема
https://forum.antichat.ru/thread198629.html

AlexTheC0d3r 08.05.2010 20:11

Цитата:

Сообщение от two2off
Простите, лоханулся. Была тема
https://forum.antichat.ru/thread198629.html

все оооочень легко

two2off 10.05.2010 13:13

Слушайте, я правильно понимаю, что аттачится к скайпу нужно в отдельном потоке? Не могли бы вы код забросить, если не сложно. С АПИ-функциями вместе

AlexTheC0d3r 10.05.2010 13:30

Цитата:

Сообщение от two2off
Слушайте, я правильно понимаю, что аттачится к скайпу нужно в отдельном потоке? Не могли бы вы код забросить, если не сложно. С АПИ-функциями вместе

зачем в отдельном?

апи функции все описаны в хелпе

two2off 10.05.2010 14:41

Цитата:

Сообщение от AlexTheC0d3r
зачем в отдельном?

Ну потому что Attach же не отдаст управление следующей комманде пока не выполнится

SKYPE4COMLib::ISkypePtr pSkype(__uuidof(SKYPE4COMLib::Skype));
pSkype->Attach(6, VARIANT_TRUE);
AfxMessageBox(L"OLOLO");

До аттача - никакого запроса на подтверждение нету, а месаджбокс после аттача никогда не выведется.
Вот я и просил код, чтобы уразуметь, когда окна ловить. Думал аттач пустить в поток ну либо окна уже ловить в потоке, не столь важно, главное что в разных потоках. Так?

AlexTheC0d3r 10.05.2010 20:25

Цитата:

Сообщение от two2off
Ну потому что Attach же не отдаст управление следующей комманде пока не выполнится

SKYPE4COMLib::ISkypePtr pSkype(__uuidof(SKYPE4COMLib::Skype));
pSkype->Attach(6, VARIANT_TRUE);
AfxMessageBox(L"OLOLO");

До аттача - никакого запроса на подтверждение нету, а месаджбокс после аттача никогда не выведется.
Вот я и просил код, чтобы уразуметь, когда окна ловить. Думал аттач пустить в поток ну либо окна уже ловить в потоке, не столь важно, главное что в разных потоках. Так?


используй pSkype->Attach(6, VARIANT_FALSE);

UPD: вот, написал целую статью, посвященная этому
http://zemus.us/05/obxod-avtorizacii-skypeapi.html

two2off 11.05.2010 09:51

Цитата:

Сообщение от AlexTheC0d3r
используй pSkype->Attach(6, VARIANT_FALSE);

UPD: вот, целая статья, посвященная этому
http://zemus.us/05/obxod-avtorizacii-skypeapi.html

:-*

Ну у меня в принципе почти так же было, если не считать потока. Но есть одна проблемка. Работает ли этот код для последней версии Скайпа? Потому что у меня не работает таб+энтер в 4.0.1.179

AlexTheC0d3r 11.05.2010 14:03

Цитата:

Сообщение от two2off
:-*

Ну у меня в принципе почти так же было, если не считать потока. Но есть одна проблемка. Работает ли этот код для последней версии Скайпа? Потому что у меня не работает таб+энтер в 4.0.1.179


последняя версия скайпа, все работает

two2off 11.05.2010 16:20

Ну всё! Мочи нет! Не работает ни два таба, ни три ни без табов. По эксепшену вылазит и все тут. Ну что здесь-то не так может быть?

CString CSkypeWork::getSkypeVersion2(void)
{
SKYPE4COMLib::ISkypePtr pSkype(__uuidof(SKYPE4COMLib::Skype));
pSkype->Attach(6, VARIANT_FALSE);
HWND hAccept = NULL;
int i = 0;
while (hAccept == 0) {
hAccept = FindWindowEx(FindWindow(_T("tSkMainForm.UnicodeCla ss"), NULL),
NULL,
_T("TZapCommunicator"),
NULL);
Sleep(1000);
i++;
if (i > 7) return _T("Can't get the version. Timeout");
}
PostMessage(hAccept, WM_KEYDOWN, VK_TAB, 0);
PostMessage(hAccept, WM_KEYDOWN, VK_RETURN, 0);

CString ver;
try {
CString v = pSkype->GetVersion();
CString wr = pSkype->GetApiWrapperVersion();
ver = _T("Skype version: ") + v + _T(" API Wrapper version: ") + wr;
}
catch(...) {
ver = _T("Exception. Can't access");
}
return ver;
}


Время: 14:35