0 c, j; F# A. S% K+ M5 P itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0"); - y! g- a. J: D* U& ~# `9 _ VariantInit(&pokeVariant[1]); % X+ H1 l b! d8 R r4 I
pokeVariant[1].vt = VT_BSTR;6 ]$ n5 H7 y0 |
pokeVariant[1].bstrVal = itemStr; * ?0 @* O( o* G& m8 D6 B1 s' [2 E5 ~/ g6 f% {
topicStr = SysAllocString((WCHAR *) L"system");5 W3 }( j1 z6 ~% d) A; X
VariantInit(&pokeVariant[2]); ) @+ r" L/ m. i, n& u
pokeVariant[2].vt = VT_BSTR;+ q/ [( I( U' Y- f c
pokeVariant[2].bstrVal = topicStr; . v& m5 x% x9 b7 I/ a% ]6 }6 A8 I3 c! L' j: u# Z$ }
// Set the DISPPARAMS structure that holds the variant. 9 s6 ^$ g; `$ w4 Z/ j# F# s5 P$ O+ Q/ I" p- ^
dp.rgvarg = pokeVariant;. o0 p5 D; W1 @8 T
dp.cArgs = 3;+ c! U. k' l& \$ |+ z
dp.rgdispidNamedArgs = NULL; 6 X; A- j6 g1 Q* y5 t4 D dp.cNamedArgs = 0;6 u: T, f v3 y4 a
7 N- R# ]- a! F' U# ~$ T// Call IDispatch::Invoke() ( H% c# g) U( V5 r/ ^3 r ' J- i6 {' p+ r( w hr = m_pDisp->Invoke(: ` `$ |4 R$ v) c1 N! u$ L$ s) h$ Z
pokeID, , p8 |2 F8 P# G9 r8 x/ Z& T0 _ IID_NULL,/ a5 m" I* n: t# p `0 G6 ]6 X
LOCALE_SYSTEM_DEFAULT, / ~0 S3 \- V/ e J8 y4 r i; E DISPATCH_METHOD,1 D$ W, Z' k/ |# G" g
&dp,* A" a/ i% y, o! H+ M
NULL, 6 c' Y6 c% _- j& f, v- H& q &ei, : H( V6 m b" k5 e. v/ O! C &uiErr);& K4 z' B3 b% c3 }0 |# ~
8 |. {/ R4 ?3 E T5 m, h' M SysFreeString(topicStr);0 O6 W0 Q# I# M2 T1 |
SysFreeString(itemStr); 2 z& q" V& q4 [) E. X SysFreeString(valueStr); 9 q1 u) X' f) ?9 x, b w* T% j9 {; x- m2 g/ r' `, u9 Z9 ^
现在这个程序可以实现将1232这个数据发送到extend,extend有一个对话框弹出并出现1232这个数据,不知道这个对话框为什么会弹出并显示这个数据???, G7 f- x- a n8 d' ~/ s2 F
此外我希望将这个数据赋给extend程序里面的一个变量,请问如何实现???? ! h* m, H1 Q' E+ ]: E/ ^& a. W9 f - N5 r7 M1 s! \ / j7 U/ {6 n" t. ?; n2.这是request的程序; O8 l# o; f! C7 {2 I: u; R
// Request a value from Extend, U' u/ @$ r3 T8 d7 ]# G, s U
// 2 z5 j/ C& h) s+ L0 Q! }// Initialize the variant that will hold the BSTR. Set the variant's3 L9 {1 N/ @3 A6 P" S
// type flag to indicate the fact that this variant holds a BSTR. Place the* B5 E5 d$ @; s' {. l
// BSTR into the variant structure. 5 L9 u# ]5 R; M; i, I $ }% Q7 K4 R* B0 i b' u9 H. x requestVariant = (VARIANTARG *)malloc(sizeof(VARIANTARG) *2);% W; {- \1 W6 ~; y
% g! L! t, A' _/ S, b- \ itemStr = SysAllocString((WCHAR *) L"global0:#0:0:0:0:0");- ] B5 s9 F! X/ Q S0 R6 \
VariantInit(&requestVariant[0]); . ], P8 A% t5 l j5 t/ ^0 U3 X5 A' u
requestVariant[0].vt = VT_BSTR;" p) {! h; N6 ?+ s, r t
requestVariant[0].bstrVal = itemStr;) y) U5 ~& Y: t* h/ }9 C T
4 z1 k$ H% H& h( g topicStr = SysAllocString((WCHAR *) L"system"); ) f. A3 ^$ r7 E: y VariantInit(&requestVariant[1]); 7 _1 \+ f; V( W
requestVariant[1].vt = VT_BSTR;' V4 l9 O5 ^- p' v+ q- U5 u+ [" i) d
requestVariant[1].bstrVal = topicStr;" o9 k0 `- c( s- y
+ s; A F/ P7 ~) E; W' V) I// Set the DISPPARAMS structure that holds the variant. : @; t% w1 s4 v' ~ 1 U2 M/ B, W& @$ b: h9 A8 p1 m dp2.rgvarg = requestVariant;) S; w7 z+ w* X' K' b
dp2.cArgs = 2;! s3 L' T: x. a. X6 |3 {3 i
dp2.rgdispidNamedArgs = NULL; ~* q2 x% }' y+ _, Y9 Z% x- V7 |) {* ^ dp2.cNamedArgs = 0; d1 y, s3 G7 C6 k6 ?6 B" [( E( B8 {
& P3 c- r0 F& f" b- Z8 g- H
var.vt = VT_EMPTY; 2 l8 G! k$ ^$ v% l9 W# f* l/ e9 `6 B( m; g v5 e
// Call IDispatch::Invoke()1 p' }' K# C0 [' f/ b