适用于 Pocket PC 2002 的 Microsoft Windows CE 帮助
Susan Buckley
Microsoft Mobile Device Division
摘要:本文介绍如何为 Pocket PC 2002 创建 Windows CE 帮助。
目录
Pocket PC 运行 Microsoft® Windows® CE 操作系统,并为用户提供与桌面计算机使用的 Microsoft Office for Windows、Microsoft Outlook® for Windows 和 Microsoft Internet Explorer 配套的程序。使用 Microsoft ActiveSync®,移动设备上的信息可以与大型计算机和网络上的信息同步,从而在用户的所有计算机上为用户提供最新信息。
尽管这些配套程序的用户界面与桌面程序的用户界面相似,但用户还需要更多的信息,以便更好地使用设备。Windows CE 帮助为用户提供了即时的、上下文相关的帮助。以下主题将分别对帮助的历史和功能进行详细介绍,还介绍一个有关为 Windows CE 开发帮助系统的教程。
Windows CE 帮助的最初两个版本(版本 1.0 和版本 2.0)是为最早的 Handheld PC 和 Palm-size PC 开发的,这两个版本现在已经不再使用。Windows CE 帮助的其他早期版本以文档的形式存放在以下位置:
本文主要介绍用于 Pocket PC 2002 的 Windows CE 帮助版本 2.3,除了包括版本 2.2 中的所有功能外,它还提供了一个新的“查找”功能。有关“查找”功能的详细信息,请参阅添加查找功能。
其他运行 Windows CE 的设备(如 Auto PC 和 WebTV)不使用 Windows CE 帮助。
Windows CE 帮助窗口由内容区和导航工具栏组成。Peghelp.exe 提供导航工具栏,HTML 呈现程序显示内容。该窗口总是全屏显示。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 180pt; HEIGHT: 240pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.microsoft.com/china/msdn/Archives/library/dnppc2k2/images/wincehelp_01.gif" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.gif"></imagedata></shape>
图 1:纸牌帮助
点击“开始”菜单上的“帮助”命令可以访问帮助。访问结果取决于用户使用此命令的位置:如果用户从“今日”屏幕上访问“帮助”,将显示一个所有已安装的帮助文件列表(可以使用链接文件进行自定义)。有关详细信息,请参阅创建所有已安装的帮助文件总列表。如果从其他屏幕访问“帮助”,将显示当前用户界面 (UI) 的上下文相关的帮助主题。例如,如果用户在“新建约会”对话框内,则显示“添加约会”帮助主题。
打开“帮助”后,帮助文件内的导航命令也会随设备的不同而不同。下表列出了 Pocket PC 的导航帮助。
按钮 |
功能 |
查看 |
可以访问“目录”命令,显示当前帮助文件的第一级内容,还可以访问“所有已安装的帮助”命令,显示所有已安装的帮助文件列表。“所有已安装的帮助”列表可以使用链接文件进行自定义。有关详细信息,请参阅创建所有已安装的帮助文件总列表。 |
后退 |
显示当前会话中查看过的上一个主题。 |
前进 |
显示历史列表中的下一个主题。 |
查找 |
打开为搜索帮助内容而设置的“查找”对话框。 |
本节讨论以下主题:
工具
HTML 标记
创建主题
添加跳转
添加图像
添加查找功能
创建所有已安装的帮助文件总列表
将帮助主题链接到程序
Windows CE 帮助系统由标准的 HTML (.htm) 文件和图形组成。HTML 帮助 (.chm) 文件不能在 Windows CE 上运行。要创建 Windows CE 帮助系统,需要具备以下工具:
您可以使用 MicrosoftPocket Internet Explorer 支持的大多数 HTML 版本 3.2 的标记,但不支持脚本、动态 HTML (DHTML) 和可扩展标记语言 (XML)。您还需要其他 HTML 编码和特殊的 HTML 标记,以使 Windows CE 帮助能够确定各个主题和文件,并将文件添加到所有已安装帮助文件列表中。
您可能还需要使用 <!-- **Topic Break** --><HR> 标记组合,帮助定位主题分隔符。这些标记并不是必需的,也不会改变显示给用户的帮助内容,但使用这些标记可以更方便地扫描文件,查找需要修订的主题。
必须将每个帮助文件的第一个主题命名为 Main_Contents。此名称与链接文件 (.lnk) 一起使用,将帮助文件添加到所有已安装的帮助文件列表中。其他各主题都应当具有唯一的定位名称,您可以根据需要任意命名这些主题。在每个主题的末尾插入 <!-- PegHelp --> 标记。下面的示例是纸牌帮助中的“设置纸牌选项”主题:
<A NAME="setting_solitaire_options"></A><B>设置纸牌选项</B>
<OL>
<LI>选择“选项”。
<LI>选择需要的选项。
</OL>
<B>请参阅</B><BR>
<A HREF="soltr.htm#playing_the_game">开始游戏</A><BR>
<A HREF="soltr.htm#solitaire_scoring_systems">纸牌计分系统</A>
<BR CLEAR=ALL>
<!-- PegHelp --><HR>
<!-- ************************Topic Break************************* -->
在编辑过程中,还可以使用 <HR> 标记进一步分隔帮助主题。由于 <HR> 标记位于 <!-- PegHelp --> 标记之后,因此在 Windows CE 帮助中不显示它。
要创建到其他文件的跳转,请使用 <A HREF> 标记:
<A HREF="soltr.htm">
与一般的 Web 页面不同,要跳转到当前文件中的某个主题,必须包含文件名和定位名称:
<A HREF="soltr.htm#about">
由于文件名在内部跳转中,某些用于验证链接的软件将不能正常运行。只要在运行链接测试之前搜索“.htm#”并用“#”替换它就能解决该问题。一定要在备份文件而不是原始文件中进行此操作。
Windows CE 帮助只能识别扩展名为 .2bp 的图像文件。目前还不支持 .gif 和 .jpg 扩展名。不过,只要简单地创建一个位图 (.bmp) 文件,然后将其扩展名更改为 .2bp 即可。不需要进行任何其他转换。为了节省磁盘空间,请只使用黑白图像。要在主题中添加位图,请使用 <IMG SRC> 标记指定要包括的图像的文件名:
<IMG SRC="button.2bp">
Windows CE 帮助使用关键字和查找程序(默认情况下,Pocket PC 上装有此程序),使用户能够快速地搜索帮助信息。用户可以通过点击“帮助”窗口底部的命令栏中的“查找”来访问关键字功能。“查找”命令可以打开预设为帮助信息类型的查找程序。然后,用户可以输入要搜索的字,并点击“执行”(参见图 2)。
<shape id="_x0000_i1026" style="WIDTH: 180pt; HEIGHT: 240pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.microsoft.com/china/msdn/Archives/library/dnppc2k2/images/wincehelp_02.gif" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.gif"></imagedata></shape>
图 2:查找结果
然后,查找程序将列出使用相同关键字标记的所有帮助主题的标题。点击某个主题标题就可以访问该主题。
按照以下语法,作者可以在帮助文件的文件头中使用特殊标记为主题设置关键字:
<HEAD>
<KEYWORD VALUE="关键字 1;关键字 2" TITLE="主题标题" HREF="file.htm#anchorname">
</HEAD>
<KEYWORD> 元素有 3 个属性:VALUE、TITLE 和 HREF。VALUE 设置由分号隔开的实际关键字,每个主题的关键字数不限;TITLE 表示主题的实际标题,并设置显示在查找的结果区中的标题;最后,HREF 设置实际主题的链接。
例如:
<HEAD>
<KEYWORD VALUE="键入;编写;绘制;记录" TITLE="关于 SIP"
HREF="notes.htm#aboutsip">
</HEAD>
为帮助文件中的每个主题输入一个 <KEYWORD> 标记,并为该主题列出适当的关键字。作者所使用的策略应当与选择索引关键字时使用的策略相同。
Windows CE 帮助可以执行关键字部分匹配搜索。例如,单词“advantage”将与关键字“advantage”和“advantages”匹配。
词组不能用作关键字,但在“查找”对话框中进行搜索时,用户可以使用词组,如“high score”。Windows CE 帮助将搜索词组中包含的所有单词。在“查找”中,用户不能执行 OR 搜索。
使用所有已安装的帮助文件总列表,用户可以快速扫描所有帮助文件标题,查找所需的准确信息。在版本 2.10 之前,此列表是一个单独的 HTML 文件,不能更新。在版本 2.10 和之后的版本中,都是通过使用每个文件中的第一个主题的名称和相应的链接文件 (.lnk),动态地创建此列表。可以随时添加新的链接。
要在列表中添加文件,必须将帮助文件的第一个主题命名为“Main_Contents”。而且,“Main_Contents”必须出现在 <META> 标记中。例如,纸牌帮助文件的文件头信息应编写为:
<!DOCTYPE HTML PUBLIC "-//W<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="C">3C</chmetcnv>//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Htm-Help" CONTENT="soltr.htm#Main_Contents">
<TITLE>纸牌帮助</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<!-- PegHelp -->
<P><A NAME="Main_Contents"></A><B>纸牌帮助</B></P>
<A HREF="soltr.htm#playing_the_game">开始游戏</A><BR>
<A HREF="soltr.htm#setting_solitaire_options">设置纸牌选项</A><BR>
<A HREF="soltr.htm#solitaire_scoring_systems">纸牌计分系统</A><BR>
<BR CLEAR=ALL>
<!-- PegHelp --><HR>
<!-- ************************Topic Break************************* -->
在记事本或其他 ASCII 编辑器中创建链接文件 (.lnk)。应当以要在列表中显示的链接名称命名该链接文件。例如,纸牌帮助文件被命名为“soltr.htm”,链接文件命名为“Solitaire.lnk”,则链接为“Solitaire”。在链接文件名中可以使用空格,例如“Pocket Word.lnk”。
当单击或点击列表中的链接时,链接文件中的文本将告诉 Windows CE 帮助应打开哪个帮助文件。在 Solitaire.lnk 文件中输入以下文本:
18#\windows\soltr.htm
数字 18 代表“\windows\soltr.htm”中的字符数。在安装程序的过程中,应该将链接文件安装在设备上的 \Windows\Help 文件夹中。帮助文件可以安装在设备或袖珍闪存卡上的任何文件夹中。
桌面计算机程序通常包括帮助系统和“这是什么?”两部分内容。帮助系统是由帮助文件的作者编写和编译的 WinHelp (.hlp) 或 HTML Help 文件 (.chm),可以从“帮助”菜单访问。“这是什么?”内容存储在帮助文件中,可以使用“帮助”按钮或 F1 键访问。按“帮助”按钮或 F1 键后,将使用标头文件(用于将帮助主题 ID 映射到代表特定对话框或对话框选项的数值)调用帮助。
Pocket PC 上的所有帮助链接的概念与“这是什么?”非常相似。帮助则有两个主要区别。第一,“帮助”命令总是与访问帮助时用户正在使用的整个 Pocket PC 屏幕相关,而且不能为对话框中的某个特定选项而专门设置。第二,它不是先使用数值,然后将数值映射到主题名称,而是使用代码中列出的实际帮助文件名和主题名。
否则,如果在 Pocket PC 上点击“开始”,然后点击“帮助”,其效果将与在桌面计算机上按 F1 键一样。WM_Help 消息将触发为最顶端的活动对话框编写的代码,以调用“帮助”并告诉“帮助”要显示的内容。
CreateProcess 函数就是一种调用方法。使用 TEXT 宏,首先将字符串转换为 Unicode,然后将字符串“peghelp.exe”(帮助引擎的名称)作为第一个参数传递。在第二个参数中,再次使用 TEXT 宏,并传递包含要显示的文件名和特定帮助主题的字符串。将其他所有参数分别设置为 NULL、FALSE 或 0。
下面的代码示例显示了如何使用 CreateProcess 函数从纸牌程序中的各个对话框访问帮助。
CreateProcess(TEXT("peghelp.exe"), TEXT("file:soltr.htm#playing_the_game"), NULL, NULL, FALSE,
0, NULL, NULL, NULL, NULL);
CreateProcess(TEXT("peghelp.exe"), TEXT("file:soltr.htm#setting_solitaire_options"), NULL, NULL, FALSE,
0, NULL, NULL, NULL, NULL);
CreateProcess(TEXT("peghelp.exe"), TEXT("file:soltr.htm#Main_Contents"), NULL, NULL, FALSE,
0, NULL, NULL, NULL, NULL);
要使用程序的用户界面的图片,需要使用为了从 Pocket PC 捕捉屏幕快照而专门设计的工具。如果已经安装了 Microsoft eMbedded Visual Tools 3.0,那么,可以通过桌面计算机使用 Remote Zoomin 来获取所连接设备的屏幕快照。有关详细信息,请参阅 eMbedded Visual Tools Web 页面。
应当在设备上测试帮助文件,以确保它们能够按照预期的方式显示和运行。请将设备连接到桌面计算机上,然后使用 ActiveSync 创建一个合作关系。将新版本的帮助文件复制并拖动到该设备上。选择不同步或转换文件。
要检查所有上下文相关的链接,请从程序中的所有窗口和对话框中访问“帮助”。如果帮助文件的链接尚未添加到所有已安装的帮助文件列表中,或尚未连接到程序上,您仍可以从“运行”对话框中访问帮助文件:
1. 在“今日”屏幕上,按住“操作”按钮。然后,点击并按住屏幕右上角的时钟,再点击“运行”。
2. 在“运行”对话框中输入以下内容:
\Windows\peghelp.exe \Windows\filename.htm#Main_Contents
请注意“peghelp.exe”和“\Windows\”之间的空格。同时,还应该用实际文件名替换 filename。
要在 Pocket Internet Explorer 中打开帮助文件,可以先将文件复制到该设备上,然后点击该文件。您可以像在桌面计算机上的 Internet Explorer 中一样,滚动查看所有帮助主题。这是快速查看是否存在笔误的一个非常好的方法。不过,要想真正测试帮助文件的运行情况,请在 Windows CE 帮助中进行测试。这一点尤其重要,因为如果直接在 Pocket Internet Explorer 中打开帮助文件,定位链接将无法运行。
请记住,用户很可能没有携带手册,因此需要提供相当全面的信息。在编写帮助时,应当使用尽可能少的文本传达尽可能多的信息。例如,不要使用传统的“在‘文件’菜单上,点击‘打开’”,而应使用“‘文件’>‘打开’”<span style=