5 t6 ^& y4 M0 c/ ]# r4 P9 F itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0"); ; |! K- ]. E" @* F VariantInit(&pokeVariant[1]); 5 {$ i$ C+ m* X/ l3 I pokeVariant[1].vt = VT_BSTR; % h$ H5 m& d3 H- h* `8 d0 r pokeVariant[1].bstrVal = itemStr;& a$ p2 \) ?0 z; b: }
; o1 u* E; E( w7 F& R, `" i
topicStr = SysAllocString((WCHAR *) L"system"); & n% y, \, E# J0 _ VariantInit(&pokeVariant[2]); $ R7 |! B% u3 ]5 Y# [ pokeVariant[2].vt = VT_BSTR; ) t: H; ]! b( U0 N, _0 K pokeVariant[2].bstrVal = topicStr;- t$ C2 M/ ]9 V( H
( a# w! s& v) ?( }
// Set the DISPPARAMS structure that holds the variant. " ]7 s* X* |4 g) m+ X2 R( M2 W$ K: r0 h' q
dp.rgvarg = pokeVariant; x5 f( B" Q F- o/ R
dp.cArgs = 3; 8 z, z3 F6 f( P2 y7 u, J: h" M9 _- H dp.rgdispidNamedArgs = NULL;9 Z% B0 a; Z! G- `8 u: Q& s
dp.cNamedArgs = 0; 8 f7 m; U4 C4 P& Y- L) B4 _ 0 b4 F7 k, a; N9 P; R& _' u// Call IDispatch::Invoke() + e5 I. t2 c. C! ^" Y( g - ^! D+ o9 i+ \9 H& S* P! l+ g, Q hr = m_pDisp->Invoke( ! c0 w, N! m4 p5 m& y& _, c1 T# ? pokeID, 4 r& C: p; T$ l2 U IID_NULL, 2 m* i) m) R5 D6 P9 A LOCALE_SYSTEM_DEFAULT, " d' | x7 }6 z- U& Y DISPATCH_METHOD, . D) J( Z& L+ N, k- p* S &dp, + c) ^7 O9 F% l8 H0 V NULL,9 }; G3 ]; [# B- P# P
&ei, $ O; ^) }; |, H( { &uiErr);, ^% A* x. \5 L0 I
6 k1 o8 a( P7 \1 q6 i SysFreeString(topicStr); % B/ f/ i& e# D" b SysFreeString(itemStr); $ ~6 N5 M- Y$ u SysFreeString(valueStr); 2 M% R, O# Y) v( a/ A2 B 3 x4 F& R" z0 J现在这个程序可以实现将1232这个数据发送到extend,extend有一个对话框弹出并出现1232这个数据,不知道这个对话框为什么会弹出并显示这个数据???" a. w' _) j3 [/ E# U
此外我希望将这个数据赋给extend程序里面的一个变量,请问如何实现????) n2 a; o0 G/ e( X, P2 h
: o, A8 \6 {, C# N9 l. k
1 Y3 _+ o v. N) }( U+ p
2.这是request的程序2 u1 a- Q* \3 m/ C
// Request a value from Extend1 B0 _! Y9 P$ B+ K
// 4 c" \2 }6 p! L. Y1 ?" ]// Initialize the variant that will hold the BSTR. Set the variant's* l8 r j. g6 u0 q6 m6 ?
// type flag to indicate the fact that this variant holds a BSTR. Place the # N" j& N @; f0 T// BSTR into the variant structure.1 ]! R8 m U1 m4 s9 s$ ~# X, c
# Z% L8 n! M; x requestVariant = (VARIANTARG *)malloc(sizeof(VARIANTARG) *2); 8 h2 V# U! t. O1 t: l! ^ 5 q' L2 {3 n. I. E" Y4 c itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0"); ( R+ P6 Z, q, n( k, _4 \6 m9 V6 w VariantInit(&requestVariant[0]); 8 l+ `! e1 C2 A requestVariant[0].vt = VT_BSTR;' M6 g; l6 Y& F q: e
requestVariant[0].bstrVal = itemStr;# W& x @5 [- g1 y
2 ^$ I) E! r* g- b7 j* z
topicStr = SysAllocString((WCHAR *) L"system"); 8 Q2 h" a; S9 T6 _. h. c7 t L VariantInit(&requestVariant[1]); 4 I: f# `, G/ I# M# L# J- m
requestVariant[1].vt = VT_BSTR;$ Z$ r: Z8 q& x o4 G
requestVariant[1].bstrVal = topicStr; * w6 T7 u: O" o* R * I# z( k7 {$ T W/ A! X// Set the DISPPARAMS structure that holds the variant. ! c& C1 i w, T, Q. f: Y4 W: k0 a. a5 R7 W2 z2 W3 Y
dp2.rgvarg = requestVariant; ; N* C) Z7 L! w1 H& K dp2.cArgs = 2;4 h- Q! S2 Z" W( Z
dp2.rgdispidNamedArgs = NULL;6 \& @9 l% m8 K1 W3 C- Z* A$ N
dp2.cNamedArgs = 0;7 }3 X& D# i6 a& [