你的C/C++ 程序可以使用TalkCentrex 控件啟動跟其它人的對話,下面是代碼:
#include <ole2.h> void TalkCentrex_command( BSTR cmd ) {
const GUID CLSID_TalkCentrex = {0xE59FA478, 0x0535, 0x43E6,{ 0xBE,
0x12, 0x1D, 0x6E, 0x75, 0x51, 0x2C, 0x3B} }; HRESULT hr;
IDispatch* pIDispatch ; DISPID dispid ; OLECHAR* func =
L"command"; DISPPARAMS funcparams ; VARIANTARG vcmd ;
vcmd.vt = VT_BSTR; vcmd.bstrVal = cmd; funcparams.rgvarg
= &vcmd; funcparams.cArgs = 1; funcparams.cNamedArgs =
0; hr = ::CoInitialize( NULL ); if( FAILED( hr ) )
return ; hr = ::CoCreateInstance( CLSID_TalkCentrex, NULL,
CLSCTX_INPROC_SERVER, IID_IDispatch, (void**)&pIDispatch ) ;
if( FAILED( hr ) ) return ; hr = pIDispatch->GetIDsOfNames(IID_NULL,
&func, 1, LOCALE_SYSTEM_DEFAULT, &dispid ) ; // if( FAILED( hr
) ) return ; hr = pIDispatch->Invoke(dispid, IID_NULL,
LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, &funcparams, NULL, NULL,
NULL) ; pIDispatch -> Release(); } |
調用這個函數的例程: ( 啟動跟 VAVAA : 800830xxxxx 的對話)
BSTR cmd( L"chat?800830xxxxx" );
TalkCentrex_command( cmd ) ; |
|