Сам себе не поможешь - никто не поможет
При открытии диалога "View/Change my details" через хуки вызывается функция:
int CJabberProto::SendGetVcard(const TCHAR *jid)
в нее передается m_szJabberJID (jid текущего пользователя).
В результате сервер присылает нам нашу собственную vcard и миранда ее обрабатывает и сохраняет.
Теперь вопрос - как цивилизованно дергать эту конструкцию при старте миранды\коннекте джаббера?
Я для себя сделал костыль в виде сервиса:
static INT_PTR RefreshOwnVCard(WPARAM w, LPARAM l)
{
if (CJabberProto *ppro = JabberChooseInstance(true))
ppro->SendGetVcard(ppro->m_szJabberJID);
return 0;
}
CreateServiceFunction("JABBER/RefreshOwnVCard", RefreshOwnVCard);
Он работает, но может этот маленький недочет можно поправить раз и навсегда?