- P m" Q% y, `9 p valueStr = SysAllocString((WCHAR *) L"1232"); 8 e; h5 f5 ?0 M6 i$ g, B VariantInit(&pokeVariant[0]); + {/ S7 M- R9 T- F1 o" V; \ pokeVariant[0].vt = VT_BSTR; - p/ y. t- U5 ^# g- F' v pokeVariant[0].bstrVal = valueStr; " \2 P" D8 e9 T + D; P3 I% X9 r$ C' s3 q- z itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0");# Q+ v3 U0 e) }4 q3 i$ o
VariantInit(&pokeVariant[1]); * T7 P# A5 g$ ]; q8 j) J* f9 n
pokeVariant[1].vt = VT_BSTR; / L1 Q& X; x$ F& h! {/ b+ k pokeVariant[1].bstrVal = itemStr; , h+ y2 T& x8 b 9 J: {. z! m0 o' @ topicStr = SysAllocString((WCHAR *) L"system");% F% y/ U2 b9 I, T- u
VariantInit(&pokeVariant[2]); 2 f' y8 |, T+ X, K" P, y pokeVariant[2].vt = VT_BSTR; h5 A3 i K( Z& E
pokeVariant[2].bstrVal = topicStr;9 L6 k. Z+ Y9 R. a; |# x: W9 p
7 y4 y3 x$ l9 R! [% ^* P# H
// Set the DISPPARAMS structure that holds the variant. 9 g4 J% {' J8 A, c2 R 4 V- C/ }1 x( z8 h% o9 Y$ g$ U dp.rgvarg = pokeVariant; 9 |% R& r# a+ l8 M# D/ f( b: } dp.cArgs = 3; 2 C/ S+ [8 z, S% u6 m dp.rgdispidNamedArgs = NULL; P) P. }* O/ L& U. f dp.cNamedArgs = 0;) Q& w# k# r/ N2 _8 O' r
& d5 _% K8 }# I) J; _( f0 x1 ~5 d
// Call IDispatch::Invoke(): X0 }! x. c" P8 A7 c
. c9 z: m# \. H2 x- ^' N
hr = m_pDisp->Invoke(, @4 H2 C6 ]; P( H3 Y5 [* a4 s
pokeID, % Y5 v, B. _1 J IID_NULL,8 l q3 `6 D" i% t' M W$ ^
LOCALE_SYSTEM_DEFAULT, 2 a( R; b* G: ~3 k. w# t5 ~! [ DISPATCH_METHOD,, Q' _$ q6 F- H
&dp,. K& j; ]* L* o$ o# ^9 ?: c
NULL, . ~1 z# d; U) z k4 ~8 I3 m &ei, ; w! p3 y6 R5 F$ a &uiErr); & G+ R& N& j2 f5 B* n* E R; J0 B H% D0 \% M" Y2 j
SysFreeString(topicStr); 8 N9 R7 V0 G; h8 k: g6 q6 e$ Q( o' W SysFreeString(itemStr); ( I9 g& n+ J/ s2 u SysFreeString(valueStr);, p }9 S6 C9 k$ F- t
8 K- v3 B; ~2 E6 j. t* Q% n* o
现在这个程序可以实现将1232这个数据发送到extend,extend有一个对话框弹出并出现1232这个数据,不知道这个对话框为什么会弹出并显示这个数据???% A' `6 `; e9 D
此外我希望将这个数据赋给extend程序里面的一个变量,请问如何实现???? S; e8 T2 v' C0 R
7 i: l8 j- I: g, n: t( v 2 v0 A; |+ O* m2.这是request的程序" O* \+ M! e- ]7 E1 t) j4 |4 }8 L
// Request a value from Extend . M+ D4 @ T+ T//" I# b z6 F$ t' Z
// Initialize the variant that will hold the BSTR. Set the variant's # J+ M9 l& c) C( a% E// type flag to indicate the fact that this variant holds a BSTR. Place the 3 u$ f. S3 b; l6 L8 O4 E; ?$ n// BSTR into the variant structure. 8 ]; b- ]4 m7 U' K0 f y& V. _' G0 V9 L7 a: L- s: b5 P; w- w- z
requestVariant = (VARIANTARG *)malloc(sizeof(VARIANTARG) *2); - j6 m. c5 @ P( c ' w) T* Y7 r' N
itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0"); ( j' Y7 w( K1 m+ n$ J" L VariantInit(&requestVariant[0]); . E9 V6 Z! Z5 G: l# P requestVariant[0].vt = VT_BSTR;2 {$ Q; Q. P- M. K0 l# k3 G
requestVariant[0].bstrVal = itemStr;- A* ~7 n( [1 g( q$ L3 ~7 {
3 J" d6 e* q2 X topicStr = SysAllocString((WCHAR *) L"system");4 Q- Z( ^& Z1 B- ^! F
VariantInit(&requestVariant[1]); 3 I" d6 F& J3 C5 a8 @ j
requestVariant[1].vt = VT_BSTR; }, B+ Y# o/ ^6 V3 [: B) L3 {1 g
requestVariant[1].bstrVal = topicStr; 5 p& r5 s+ ]( J0 J # F# `$ |$ J. j- u' v, l! a// Set the DISPPARAMS structure that holds the variant.4 K; a# r8 }9 ^2 P% O2 m