Click here to Skip to main content
15,867,308 members
Articles / Mobile Apps

Help File Integration in Windows Mobile Pocket PC

Rate me:
Please Sign up or sign in to vote.
4.71/5 (34 votes)
8 Jan 2009CPOL2 min read 70.3K   793   26   32
Help file integration with Windows Mobile applications programmatically.

HelpIntigration

Introduction

This article is helpful for Windows Mobile, Smart Device application developers, regarding how to integrate help files programmatically to a targeted device. To develop help files, we have to follow some steps which I have described below.

The .NET Compact Framework allows users to register custom application Help files in Pocket PC's Help systems. It provides access to the Windows CE Help program using peghelp.exe, to display custom application Help files within Windows Mobile Pocket PC applications.

The Solution

How can we create and integrate a Help files in Windows Mobile Pocket PC applications? To create and integrate a help file in Windows Mobile Pocket PC applications, we will follow the steps given below:

Step 1

First, we will create a help file including the help topics that we want to show in our application. Create an HTML file using some specific tags. For example, we are creating "DEMO-HELP.htm" to be integrated as a Help file in our application.

HelpFileIntegration/html_help_file.PNG

Note: you can find a sample HTML help file to download from the top of this article.

Step 2

We now have to put this (DEMO-HELP.htm) file in our Windows Mobile Pocket PC device/emulator's \windows directory.

Step 3

Step 3 is achieved programmatically.

The Help file needs to be registered in Pocket PC 's Help File System. To install your Help file on the Pocket PC Help Systems, we have to create a shortcut file in the \Windows\Help folder. Create a shortcut to "DEMO-HELP.htm" in the \Windows\Help folder.

How to create a shortcut to "DEMO-HELP.htm"?

Create a text file on you PC and write 16#\windows\DEMO-HELP.htm to it and save this file using the same name as the Help file with a .lnk extension (DEMO-HELP.lnk). Now, you can put it in the \Windows\Help folder.

You can now check out the application Help integration successfully with the device help system. Tap Help from the Start menu. If your Help is not already displayed, choose All Installed Help from the View menu. Your Help should be included alphabetically in the list.

Code snippet for step 3

C#
private bool CreateLinkHelpFile()
{
    bool isLinkFileCreated = false;
    try
    {
        if (!System.IO.File.Exists(LINK_HELPFILE_PATH))
        {
            System.IO.StreamWriter sw = 
                    new System.IO.StreamWriter(LINK_HELPFILE_PATH);
            sw.Write("16#" + HELPFILE_PATH);
            sw.Close();
            sw = null;
            isLinkFileCreated = true;
        }
        else
        {
            isLinkFileCreated = true;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Link file does not create.", "CreateLinkHelpFile");
        Close();
    }
    return isLinkFileCreated;
}

LINK_HELPFILE_PATH is a variable which is assigned with the @"\Windows\Help" folder path. And it means insert the name of the Help file by the number of characters in the path and the number sign (#). This should be the only line in the file.

C#
protected override void OnHelpRequested(HelpEventArgs e)
{
   try
   {
       if (System.IO.File.Exists(HELPFILE_PATH))
       {
           Help.ShowHelp(this, HELPFILE_PATH);
           base.OnHelpRequested(e);
       }  
       else
       {
           MessageBox.Show("Help File Not Found", "Help Intigration");
       }
    }
    catch (Exception ex)
    {
       MessageBox.Show(ex.Message, "OnHelpRequested");
    }
}

Here, HELPFILE_PATH is a variable which is assigned with the @"\windows\DEMO-HELP.htm" HTML help file.

Points of interest

After installing the application, you are able to view the application help on your device:

HelpFileIntegration/help_show_000.PNG

HelpFileIntegration/help_show_001.PNG

HelpFileIntegration/help_show_002.PNG

HelpFileIntegration/help_show_003.PNG

Reference

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) WmDev Technology
India India
Pavan is a Senior software developer, and has been in the industry since August 2005. He has experience in Windows Phone 7, Windows Mobile with Compact Framework, Python for S60, C#.NET, VB.NET, Windows Forms, ASP.NET, WCF, Silverlight, JavaScript and HTML.

Comments and Discussions

 
GeneralWindows CE 5 Pin
jansen842127-Oct-09 1:07
jansen842127-Oct-09 1:07 
GeneralCreating a link to help file Pin
jansen842126-Oct-09 22:03
jansen842126-Oct-09 22:03 
GeneralRe: Creating a link to help file Pin
jansen84214-Nov-09 1:43
jansen84214-Nov-09 1:43 
QuestionHow to display this help from within the application? Pin
yoavgur29-Sep-09 6:30
yoavgur29-Sep-09 6:30 
AnswerRe: How to display this help from within the application? Pin
PavanPareta29-Sep-09 19:52
PavanPareta29-Sep-09 19:52 
GeneralRe: How to display this help from within the application? Pin
yoavgur29-Sep-09 21:43
yoavgur29-Sep-09 21:43 
GeneralRe: How to display this help from within the application? Pin
yoavgur3-Oct-09 22:08
yoavgur3-Oct-09 22:08 
GeneralGood stuff Pin
Dr.Luiji17-Aug-09 6:33
professionalDr.Luiji17-Aug-09 6:33 
GeneralRe: Good stuff Pin
PavanPareta26-Aug-09 8:45
PavanPareta26-Aug-09 8:45 
Generalthe number before # Pin
niktana17-Feb-09 20:49
niktana17-Feb-09 20:49 
GeneralRe: the number before # Pin
PavanPareta17-Mar-11 19:41
PavanPareta17-Mar-11 19:41 
Generalnice article but Pin
Rupesh Kumar Swami14-Jan-09 1:42
Rupesh Kumar Swami14-Jan-09 1:42 
GeneralRe: nice article but Pin
PavanPareta14-Jan-09 17:34
PavanPareta14-Jan-09 17:34 
GeneralGood one... Pin
Rajesh Ramachandra12-Jan-09 23:52
Rajesh Ramachandra12-Jan-09 23:52 
Generalgood job done Pin
pramodverma12-Jan-09 23:51
pramodverma12-Jan-09 23:51 
GeneralEfforts Appreciated Pin
Aradhya Agarwal12-Jan-09 23:00
Aradhya Agarwal12-Jan-09 23:00 
GeneralRe: Efforts Appreciated Pin
PavanPareta12-Jan-09 23:06
PavanPareta12-Jan-09 23:06 
GeneralReally a nice Article Pin
~Khatri Mitesh~12-Jan-09 19:22
~Khatri Mitesh~12-Jan-09 19:22 
GeneralIf I used compact framework Pin
Sacha Barber12-Jan-09 1:59
Sacha Barber12-Jan-09 1:59 
GeneralRe: If I used compact framework Pin
PavanPareta12-Jan-09 3:19
PavanPareta12-Jan-09 3:19 
GeneralVery interesting article! Pin
Vesko Kolev10-Jan-09 3:12
Vesko Kolev10-Jan-09 3:12 
I am always happy when seeing such good explanation on an interesting topic. Such people like you are the driving force for the development of the community!

Keep up the good work!

Best regards,
Vesko Kolev
Team Leader, .NET Development
http://veskokolev.blogspot.com[^]
GeneralRe: Very interesting article! Pin
PavanPareta12-Jan-09 3:19
PavanPareta12-Jan-09 3:19 
GeneralHelp file integration Pin
yuvraj.raj10-Jan-09 0:39
yuvraj.raj10-Jan-09 0:39 
GeneralRe: Help file integration Pin
PavanPareta12-Jan-09 3:54
PavanPareta12-Jan-09 3:54 
Generalhi Pin
Ravenet10-Jan-09 0:20
Ravenet10-Jan-09 0:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.