84 lines
1.9 KiB
C++
84 lines
1.9 KiB
C++
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
|
|
#include "precomp.h"
|
|
#include "HTMTopics.h"
|
|
#include "resource.h"
|
|
#include "wbemRegistry.h"
|
|
#include "wbemVersion.h"
|
|
#include "htmlhelp.h"
|
|
|
|
#ifdef NO_WBEMUTILS
|
|
#include "..\eventviewer\container\container.h"
|
|
extern CContainerApp theApp;
|
|
#else
|
|
#include "MsgDlg.h"
|
|
extern CMsgDlgApp theApp;
|
|
#endif NO_WBEMUTILS
|
|
|
|
typedef HWND (WINAPI *HTMLHELPPROC)(HWND hwndCaller,
|
|
LPCSTR pszFile,
|
|
UINT uCommand,
|
|
DWORD_PTR dwData);
|
|
|
|
WBEMUTILS_POLARITY void WbemHelp(HWND hParent, LPCSTR page)
|
|
{
|
|
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
|
|
|
CString csPath;
|
|
HTMLHELPPROC proc = 0;
|
|
|
|
// never looked for control yet.
|
|
if(theApp.m_htmlHelpInst == NULL)
|
|
{
|
|
theApp.m_htmlHelpInst = LoadLibrary(_T("Hhctrl.ocx"));
|
|
}
|
|
|
|
// can I find the control?
|
|
if(theApp.m_htmlHelpInst == NULL)
|
|
{
|
|
// tell them where to get it.
|
|
AfxMessageBox(IDS_NO_HHCTRL, MB_OK|MB_ICONSTOP);
|
|
}
|
|
else
|
|
{
|
|
// got the control, now get the procedure...
|
|
#ifdef UNICODE
|
|
(FARPROC&)proc = GetProcAddress(theApp.m_htmlHelpInst, "HtmlHelpW");
|
|
#else
|
|
(FARPROC&)proc = GetProcAddress(theApp.m_htmlHelpInst, "HtmlHelpA");
|
|
#endif
|
|
|
|
// got the procedure??
|
|
if(proc)
|
|
{
|
|
// cool, get ready to call it.
|
|
WbemRegString(SDK_HELP, csPath);
|
|
|
|
#ifdef _UNICODE
|
|
char szTemp[1024];
|
|
wcstombs(szTemp, csPath, sizeof(szTemp));
|
|
|
|
// do it.
|
|
HWND retval = (*proc)(hParent, szTemp, HH_DISPLAY_TOPIC,
|
|
(DWORD_PTR) ((LPCTSTR)page));
|
|
#else
|
|
|
|
// do it.
|
|
HWND retval = (*proc)(hParent, csPath, HH_DISPLAY_TOPIC,
|
|
(unsigned long) ((LPCTSTR)page));
|
|
#endif
|
|
|
|
|
|
if(retval == 0)
|
|
{
|
|
// tell them where to get it.
|
|
AfxMessageBox(IDS_NO_HTML_PAGE, MB_OK|MB_ICONSTOP);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// nope? something seriously wrong.
|
|
AfxMessageBox(IDS_NO_HTMLHELP, MB_OK|MB_ICONSTOP);
|
|
}
|
|
}
|
|
}
|