请问大哥们:showhtmldialog函数的用法.或者声明?(实时在线)

MSSQL 2004-12-23 01:45:54
请问大哥们:showhtmldialog函数的用法.或者声明?(实时在线)
该函数是mshtml.dll中的
...全文
102 点赞 收藏 18
写回复
18 条回复
MSSQL 2005年01月14日
谢谢高人们。有问题再请教。
回复 点赞
lxcc 2005年01月13日
CreateURLMoniker 用来返回一个支持IMoniker接口的对象,具体查查MSDN.
回复 点赞
lxcc 2005年01月13日
Private Declare Function CreateURLMoniker Lib "urlmon.dll" (ByVal base As Long, ByVal url As Long, ByRef pMoniker As Object) As Long
Private Declare Function ShowHTMLDialog Lib "mshtml.dll" (ByVal hwnd As Long, ByVal pMoniker As Long, ByRef argIn As Variant, ByVal options As Long, ByRef argOut As Variant) As Long

Sub test()

Dim IMoniker As Object
Dim szUrl As String, szOptions As String
Dim vArgOut, vArgIn

vArgOut = ""
vArgIn = "Argument 1;Argument 2;Argument 3;Argument 4"

szOptions = "dialogHeight: 250px; dialogWidth: 250px"
szUrl = "file://c:/test.htm"
CreateURLMoniker 0, StrPtr(szUrl), IMoniker

ShowHTMLDialog 0, ObjPtr(IMoniker), vArgIn, StrPtr(szOptions), vArgOut

Set IMoniker = Nothing
Debug.Print vArgOut

End Sub


Private Sub Command1_Click()
test
End Sub
回复 点赞
lxcc 2005年01月13日
Private Declare Function CreateURLMoniker Lib "urlmon.dll" (ByVal base As Long, ByVal url As Long, ByRef pMoniker As Long) As Long

Private Declare Function ShowHTMLDialog Lib "mshtml.dll" (ByVal hwnd As Long, ByVal pMoniker As Long, ByVal argIn As Long, ByVal options As Long, ByVal argOut As Long) As Long

Private Sub Command1_Click()
Dim x As Long
Dim szUrl As String

szUrl = "http://www.csdn.net"
CreateURLMoniker 0, StrPtr(szUrl), x

ShowHTMLDialog 0, x, 0, 0, 0
End Sub
回复 点赞
sworddx 2005年01月13日
尝试过用HTML做界面(就像Norton Antivirus,就像xp的激活程序),但是是直接使用Webbrowser控件,加上一个用来屏蔽菜单的玩意,再用webbrowser的document属性加上一大堆js……总之麻烦的出奇。
回复 点赞
MSSQL 2005年01月13日
又一天过去了.问题依然还是一个问题
回复 点赞
MSSQL 2004年12月24日
又一天过去了.问题依然还是一个问题
回复 点赞
MSSQL 2004年12月23日
天呀.难道就没有一个得道高僧出来指点一二
回复 点赞
viena 2004年12月23日
@_@
回复 点赞
MSSQL 2004年12月23日
怎么就没有人能帮我呢
回复 点赞
MSSQL 2004年12月23日
主要是实现HTML对话框.
以便做出漂亮的程序界面
回复 点赞
cindytsai 2004年12月23日
或者楼主说一下想达到什么效果吧,这个函数有点刁钻哦,在VB-Helper这个专门提供帮助的网站都找不到这啊。
回复 点赞
MSSQL 2004年12月23日
这个东东我不能用呀!

高手们救命呀
回复 点赞
AprilSong 2004年12月23日
本来想试着帮你翻译一下的
发现好多没见过的东西……搞不定…… - -b

里面还有这段例程序~应该有用……


HINSTANCE hinstMSHTML = LoadLibrary(TEXT("MSHTML.DLL"));

if (hinstMSHTML == NULL)
{
// Error loading module -- fail as securely as possible
return;
}

SHOWHTMLDIALOGFN* pfnShowHTMLDialog;
pfnShowHTMLDialog = (SHOWHTMLDIALOGFN*)GetProcAddress(hinstMSHTML,
TEXT("ShowHTMLDialog"));
if (pfnShowHTMLDialog)
{
IMoniker *pURLMoniker;
BSTR bstrURL = SysAllocString(L"http://www.example.com/dialogsource.htm");
CreateURLMoniker(NULL, bstrURL, &pURLMoniker);

if (pURLMoniker)
{
(*pfnShowHTMLDialog)(NULL, pURLMoniker, NULL, NULL, NULL);
pURLMoniker->Release();
}

SysFreeString(bstrURL);
}

FreeLibrary(hinstMSHTML);
回复 点赞
MSSQL 2004年12月23日
就是搞不好呀
回复 点赞
AprilSong 2004年12月23日
下面是C的声明~自己试着改一下吧~ ^ ^

typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);
回复 点赞
MSSQL 2004年12月23日
忘记说是:
1.VB的
2.中文的
3.最好有例子的
回复 点赞
AprilSong 2004年12月23日
说明~

http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/functions/ShowHTMLDialog.asp
回复 点赞
发动态
发帖子
API
创建于2007-09-28

1196

社区成员

2.3w+

社区内容

VB API
社区公告
暂无公告