#include #include #include #include #include "ueerror.h" /* ** user_exit('WinHelpIndex file=c:\example\helpfile.hlp'); ** Opens the help file at the "Index" */ int WinHelpIndex(inputArgs) char *inputArgs; { HWND hParentWin; OFSTRUCT of; HANDLE hFile; char *fileName, *Parameter; char errorTitle[80] = "Error in User Exit WinHelpIndex"; char invalidFile[80] = "Invalid WinHelp File Name."; char invalidFileParameter[100] = "Invalid Parameter. FILE was expected"; Parameter = strtok(inputArgs," "); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"FILE")==0 ) fileName = strtok(NULL," "); else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } hFile = OpenFile((LPSTR)fileName,&of,OF_EXIST); if ( hFile != -1 ) // OpenFile returns -1 if unsuccessful { hParentWin = GetActiveWindow(); WinHelp(hParentWin,(LPSTR) fileName,HELP_INDEX,NULL); } else { UEError(errorTitle, invalidFile); return FATAL_ERR; } return SUCCESS; } /* WinHelpIndex */ /* ** USER_EXIT('WinHelpContents file=c:\help\helpfile.hlp'); ** Displays the Help contents topic defined by the Contents ** option in the [OPTIONS] section of the .HPJ file. */ int WinHelpContents(inputArgs) char *inputArgs; /* Windows file name */ { HWND hParentWin; OFSTRUCT of; HANDLE hFile; char *fileName, *Parameter; char errorTitle[80] = "Error in User Exit WinHelpContents"; char invalidFile[80] = "Invalid WinHelp File Name."; char invalidFileParameter[100] = "Invalid Parameter. FILE was expected"; Parameter = strtok(inputArgs," "); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"FILE")==0 ) fileName = strtok(NULL," "); else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } hFile = OpenFile((LPSTR)fileName,&of,OF_EXIST); if ( hFile != -1 ) // OpenFile returns -1 if unsuccessful { hParentWin = GetActiveWindow(); WinHelp(hParentWin,(LPSTR) fileName,HELP_CONTENTS,NULL); } else { UEError(errorTitle, invalidFile); return FATAL_ERR; } return SUCCESS; } /* WinHelpContents */ /* ** USER_EXIT('WinHelpQuit file=c:\help\helpfile.hlp'); ** Informs the Help application that Help is no longer needed. ** If no other applications are using Help, Windows closes the Help application. */ int WinHelpQuit(inputArgs) char *inputArgs; /* Windows file name */ { HWND hParentWin; OFSTRUCT of; HANDLE hFile; char *fileName, *Parameter; char errorTitle[80] = "Error in User Exit WinHelpQuit"; char invalidFile[80] = "Invalid WinHelp File Name."; char invalidFileParameter[100] = "Invalid Parameter. FILE was expected"; Parameter = strtok(inputArgs," "); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"FILE")==0 ) fileName = strtok(NULL," "); else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } hFile = OpenFile((LPSTR)fileName,&of,OF_EXIST); if ( hFile != -1 ) // OpenFile returns -1 if unsuccessful { hParentWin = GetActiveWindow(); WinHelp(hParentWin,(LPSTR) fileName,HELP_QUIT,NULL); } else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } return SUCCESS; } /* WinHelpQuit */ /* ** USER_EXIT('WinHelpSearchOn file=c:\help\helpfile.hlp keyword=key'); ** If there is excactly one topic that matches the list of keywords, the topic ** is displayed. Otherwise, the Search dialog box is displayed. */ int WinHelpSearchOn(inputArgs) char *inputArgs; /* Windows file name */ { HWND hParentWin; OFSTRUCT of; HANDLE hFile; char *fileName, *Parameter; char errorTitle[80] = "Error in User Exit WinHelpSearchOn"; char invalidFile[80] = "Invalid WinHelp File Name."; char invalidFileParameter[100] = "Invalid Parameter. FILE was expected"; char invalidKeywordParameter[100] = "Invalid Parameter. KEYWORD was expected"; Parameter = strtok(inputArgs," "); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"FILE")==0 ) fileName = strtok(NULL," "); else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } hFile = OpenFile((LPSTR)fileName,&of,OF_EXIST); if ( hFile != -1 ) // OpenFile returns -1 if unsuccessful { hParentWin = GetActiveWindow(); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"KEYWORD")==0 ) { Parameter = strtok(NULL," "); WinHelp(hParentWin,(LPSTR) fileName,HELP_KEY, (DWORD) (LPSTR) Parameter); } else { UEError(errorTitle, "Invalid Parameter in WinHelpKey. KEYWORD was expected"); UEError(errorTitle, invalidKeywordParameter); return FATAL_ERR; } } else { UEError(errorTitle, invalidFile); return FATAL_ERR; } return SUCCESS; } /* WinHelpSearchOn */ /* ** USER_EXIT('WinHelpContext file=c:\help\helpfile.hlp context=10'); ** Displays Help for a particular topic indentified by a context ** number that has been defined in the [MAP] section of the .HPJ file. */ int WinHelpContext(inputArgs) char *inputArgs; /* Windows file name */ { HWND hParentWin; OFSTRUCT of; HANDLE hFile; int numericContext; char *fileName, *Parameter; char errorTitle[80] = "Error in User Exit WinHelpContext"; char invalidFile[80] = "Invalid WinHelp File Name."; char invalidFileParameter[100] = "Invalid Parameter. FILE was expected"; char invalidContextParameter[100] = "Invalid Parameter. CONTEXT was expected"; Parameter = strtok(inputArgs," "); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"FILE")==0 ) fileName = strtok(NULL," "); else { UEError(errorTitle, invalidFileParameter); return FATAL_ERR; } hFile = OpenFile((LPSTR)fileName,&of,OF_EXIST); if ( hFile != -1 ) // OpenFile returns -1 if unsuccessful { hParentWin = GetActiveWindow(); Parameter = strtok(NULL,"="); if ( strcmp(strupr(Parameter),"CONTEXT")==0 ) { Parameter = strtok(NULL," "); numericContext = atoi(Parameter); WinHelp(hParentWin,(LPSTR) fileName,HELP_CONTEXT, (DWORD) numericContext); } else { UEError(errorTitle, "Invalid Parameter in WinHelpContext. CONTEXT was expected"); UEError(errorTitle, invalidContextParameter); return FATAL_ERR; } } else { UEError(errorTitle, invalidFile); return FATAL_ERR; } return SUCCESS; } /* WinHelpContext */