使用TWebBrowser,怎么插入指定的图片文件

使用TWebBrowser,如何插入指定的图片文件?
pCmdTarg-> Exec(&CGID_MSHTML,
IDM_IMAGE,
Shdocvw::OLECMDEXECOPT_DODEFAULT,
NULL,
NULL);
这样可以调出IE缺省的插入图片窗口。

但我想用Shdocvw::OLECMDEXECOPT_DONTPROMPTUSER方式,插入指定的图片,其他参数如何写?

------解决方案--------------------
pCmdTarg-> Exec(&CGID_MSHTML,
IDM_IMAGE,
Shdocvw::OLECMDEXECOPT_DODEFAULT,
NULL, // 见下面的pvaIn
NULL
);

pvaIn: VARIANT of type VT_BSTR that specifies the path and file name of the image to be inserted. If the command displays a dialogue box, this parameter is ignored.
pvaOut Set to NULL.

------解决方案--------------------
参考delphi代码:
var
vImage: OleVariant;
begin
vImage := 'file:///D:\newyear07res.gif ';
target.Exec(@CGID_MSHTML, IDM_IMAGE,
OLECMDEXECOPT_DONTPROMPTUSER, vImage, EmptyParam);
end;

你可以调试一下,一个是v的值是否正确,另一个是C++中用NULL是否正确。
------解决方案--------------------
我已经很久不用BCB了,机子上也没装。不过WideString在BCB内应该是个类,它有一个函数c_bstr()你可以了解一下。以下是我的猜想:

VARIANT v;
v.vt = VT_BSTR;
v.bstrVal = WideString( "file:///C:\\mp3.gif ").c_bstr();
pCmdTarg-> Exec(&CGID_MSHTML,
IDM_IMAGE,
::OLECMDEXECOPT_DONTPROMPTUSER,//Shdocvw::OLECMDEXECOPT_DODEFAULT,
&v,
EmptyParam); // 这儿不知道应该用EmptyParam, &EmptyParam还是NULL...
------解决方案--------------------
同意
jiangsheng(蒋晟.Net[MVP])

http://blog.csdn.net/cathyeagle/archive/2004/09/03/93984.aspx
http://hi.baidu.com/rarnu/blog/item/3c43f3360f8863310a55a99b.html
http://www.itzhe.cn/Programme/HTML/6222_2.html
http://dev.csdn.net/Develop/article/22/22030.shtm

参考一下上面的文章