How To Call the Windows Help Search Dialog Box from Application (86268)



The information in this article applies to:

  • Microsoft Platform Software Development Kit (SDK) 1.0
  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q86268

SUMMARY

In the Microsoft Windows environment, an application can invoke the Search dialog box of the Windows Help application independent of the main help window. For example, many applications have an item like "Search for Help on" in their Help menus.

An application can invoke the Search dialog box via the WinHelp function by specifying HELP_PARTIALKEY as the value for the fuCommand parameter and by specifying a pointer to an empty string for the dwData parameter. The following code demonstrates how to call the Windows Help Search dialog box from an application:
   LPSTR lpszDummy,
         lpszHelpFile;

   // Allocate memory for strings.
   lpszDummy = (LPTSTR)malloc(5);
   lpszHelpFile = (LPTSTR)malloc(MAX_PATH);

   // Initialize an empty string.
   lstrcpy(lpszDummy,TEXT (""));

   // Initialize the help filename.
   lstrcpy(lpszHelpFile, TEXT("c:\\windows\\myhelp.hlp");

   // Call WinHelp function.
   WinHelp(hWnd, lpszHelpFile, HELP_PARTIALKEY, (DWORD)lpszDummy);
				


By using the TEXT macro and the LPTSTR declaration for the pointer, both UNICODE and MBCS can be supported. The LPTSTR and TEXT macro resolve to the appropriate type based on the definition (or nondefinition) of the UNICODE precompile symbol. For example, if UNICODE is defined (#define UNICODE), the TEXT macro resolves to the L keyword for UNICODE strings constants and LPTSTR will resolve to wchar_t * (a pointer to a UNICODE string). Without the #define UNICODE statement, LPTSTR resolves to char * and the TEXT macro resolves to a common string.

Modification Type:MinorLast Reviewed:7/11/2005
Keywords:kbhowto KB86268