Technical Article

NateON dispatch Interface를 통한 친구상태 체크하기

fiadot_old 2007. 7. 9. 11:53

#import "progid:NateOn.NateMessengerApi.1" no_namespace
void CAutoTestDlg::OnBnClickedButton1()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

//  uuid(A02AC169-B150-43DE-8BD4-109B9DE6B34B),
//
//  INateOnApiAtx
//
//  dispinterface INateMessengerApi
//
//  [id(0x0000000c), helpstring("method GetMyId")]
//  BSTR GetMyId();
 
 INateMessengerApiPtr m_pNate;

 m_pNate = INateMessengerApiPtr(__uuidof(NateMessengerApi));

 BSTR pID = m_pNate->GetMyId();

 TCHAR szFinal[255];
 // direct conversion from BSTR to LPCTSTR only works
 // in Unicode
 _stprintf(szFinal, _T("%s"), (LPCTSTR)pID);
 AfxMessageBox(szFinal);

 CString str;

VARIANT_BOOL bOnline = m_pNate->IsBuddyOnline("dlsdoㅌㅌㅌ@nate.com");
 if ( VARIANT_TRUE  == bOnline )
  str.Format(L"true");
 else
  str.Format(L"false");

 AfxMessageBox(str);


COM 공부하다가 뻘짓 -_-;;;

OLE View로 타입라이브러리 보다가 '참 많은 놈들이 COM으로 짰구나' 생각하다

아니 네이트~~ 이러면서 그냥 테스트 해본거..

물론 ATL은 필수!