4 E; ?, {& }0 i8 \; \ hr = m_pDisp->GetIDsOfNames (: K( H3 F A1 B. N% F8 [
IID_NULL, // reserved 8 d& ^, u# m& L' ~ &Name, // Array of names to get IDs for V) E+ i1 p; i5 M" d5 O
1, // # of names in the array * U& I9 E. v u" A B2 U LOCALE_SYSTEM_DEFAULT, // System locale0 [& H- n$ F! z6 M
&pokeID); // Array of IDs to fill on output & h+ O( s% n1 q% G 3 b$ j7 R) G9 a: c1 a0 N- F5 {$ o' ~7 J
if (hr)$ P+ `. s+ \7 I. L
{ 3 X+ z9 U }! z5 Q5 d$ M0 ~, z MessageBox ("Get Poke Unsuccessful"); 8 M+ T$ s- c$ f" ?0 ]) u return;7 \7 ?( G7 v$ V r! ?
}2 c, b2 c) u2 m
& q3 ~2 e Q% W
/**************************传递数据给extend**************************************/ 3 `2 R3 [) P% Y# s pokeVariant = (VARIANTARG *)malloc(sizeof(VARIANTARG) *3); 9 e" y. i6 A, s: } o7 K & R5 H, |; E4 s; q% H" C valueStr = SysAllocString((WCHAR *) L"1232");7 V% R2 E J, d6 {
VariantInit(&pokeVariant[0]); * J& X3 _* @* a7 A) w
pokeVariant[0].vt = VT_BSTR;; c u. z3 t2 g6 l l6 U0 W
pokeVariant[0].bstrVal = valueStr;- V6 a s1 S; R' r3 o
* R7 S9 i; h0 L% R" H topicStr = SysAllocString((WCHAR *) L"system"); 9 }& ^. i8 u% K8 ]# ~ VariantInit(&pokeVariant[2]); ) @( ^, T: W) f+ r ? X
pokeVariant[2].vt = VT_BSTR;% r0 N( p! v, W8 |& H/ T/ l: u
pokeVariant[2].bstrVal = topicStr; d( A: g* C7 i$ W/ {# W. D, \
' @1 @2 K8 _8 v1 I2 i
// Set the DISPPARAMS structure that holds the variant. $ O. m! k b6 e3 R % ~* d" C2 w- o6 _5 j dp.rgvarg = pokeVariant;! g( B6 m# E6 F3 K5 Q6 P
dp.cArgs = 3;& l6 O8 ?' A; f0 {/ [5 a$ e
dp.rgdispidNamedArgs = NULL; 1 [: Q7 X5 ^8 W+ y; D dp.cNamedArgs = 0;. F5 C$ P' ^! s
& E! ?* ]( K' N0 Q& P// Call IDispatch::Invoke()) s: W, }) L- j
+ H! A* F7 m- `( t
hr = m_pDisp->Invoke( ( ]6 ~) |) s% G9 d pokeID, , G* w7 \7 H9 p m G# I" q$ X# v IID_NULL, 8 V) S$ j: w5 T5 e LOCALE_SYSTEM_DEFAULT,$ N; Z0 A. R" N7 q
DISPATCH_METHOD,9 b$ e0 t- B! Z. e& O* m$ F% S
&dp, % e2 n/ q+ M& l1 t, y NULL, 3 T; W( h2 X: ~4 O3 k" K3 N &ei, 6 K$ B6 t6 {( V &uiErr);+ Y5 M/ W9 p5 U: t+ H- H4 \
' ~7 {2 k- c* u# W4 p SysFreeString(topicStr);, I) ~1 U+ ]* Z# l' C- D
SysFreeString(itemStr); 7 S' A- u4 |5 \) }) ^: p SysFreeString(valueStr);' q1 F! s( q6 n8 Z: w. u
; {% k& Z9 I( x5 F+ N. o' x
现在这个程序可以实现将1232这个数据发送到extend,extend有一个对话框弹出并出现1232这个数据,不知道这个对话框为什么会弹出并显示这个数据???" C W( l: m+ |
此外我希望将这个数据赋给extend程序里面的一个变量,请问如何实现????, Q2 J* p9 Q9 u0 M( t3 l8 m
1 G( n, ` m( r& B& L8 P
2 H4 ]9 t3 P# o2.这是request的程序& N# `, F. @ Z& O; {+ i
// Request a value from Extend! h2 a# J9 d; n. j, ^: G' Z
// ' q8 c0 d* k/ z; X1 |// Initialize the variant that will hold the BSTR. Set the variant's4 i4 L8 }$ Y2 v4 j2 A4 Q+ l
// type flag to indicate the fact that this variant holds a BSTR. Place the$ L# g l' u" Z3 E
// BSTR into the variant structure.2 h1 p8 ?2 T3 I! G: l