科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道将 eMbedded Visual C++ 应用程序迁移到 Visual Studio 2005

将 eMbedded Visual C++ 应用程序迁移到 Visual Studio 2005

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

通过在这一自己控制进度的动手体验中使用 Visual Studio 2005,告别 Microsoft eMbedded Visual C++,并生成基于 Windows Mobile 的本机应用程序。

作者:Microsoft Corporation 来源:Microsoft Corporation 2007年9月10日

关键字: Visual C++ Visual Studio 应用程序 迁移

  • 评论
  • 分享微博
  • 分享邮件

体验 1:迁移 eMbedded Visual C++ Windows Mobile Win32 项目

此体验的目标是将一个 Microsoft eMbedded Visual C++ (eVC) Pocket PC 2003 应用程序迁移到 Visual Studio 2005,并为其创建智能设备 CAB 项目。

练习 1 – 将 eMbedded Visual C++ Windows Mobile Win32 项目迁移到 Visual Studio 2005

练习 2 – 创建智能设备 CAB 项目

练习 1:将 eMbedded Visual C++ Windows Mobile Win32 项目迁移到 Visual Studio 2005

Visual Studio 2005 中打开 eMbedded Visual C++ 项目的步骤

1.

在 Visual Studio 2005 中,选择 File | Open | Project/Solution(文件 | 打开 | 项目/解决方案)。

2.

浏览到 C:\HOL\dirtree。

3.

选择 dirtree.vcp,然后单击 Open(打开)。

4.

Visual Studio Conversion Wizard(Visual Studio 转换向导)欢迎页面上,单击 Finish(完成),然后单击 Close(关闭)。

5.

在 Solution Explorer(解决方案资源管理器)中,右键单击 DirTree 项目,然后单击 Properties(属性)。

6.

展开 Configuration Properties | Linker | Input(配置属性 | 链接器 | 输入)。

7.

Configuration(配置)下拉列表框中,选择 All Configurations(所有配置)。

8.

Platform(平台)下拉列表框中,选择 All Platforms(所有平台)。

9.

单击 Ignore Specific Library(忽略特定库)属性中的省略号,如下图所示。


10.

在文本框中,键入 oldnames.lib,然后单击 OK(确定)。

11.

单击 AdditionalDependencies(附加依赖项)属性中的省略号,然后添加以下 .lib 文件:commctrl.lib coredll.lib aygshell.lib secchk.lib ccrtrtti.lib

12.

单击 OK(确定)。

创建方向识别功能的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,展开 DirTree | Resource Files

2.

双击 treedir.rc 文件。

3.

在 Resource View(资源视图)中,展开 treedir.rc | Dialog

4.

右键单击 IDD_ABOUT 对话框,然后选择 Copy(复制)。

5.

选择 Dialog 文件夹,然后单击 Paste(粘贴)。

6.

选择 IDD_ABOUT1,然后单击 Properties(属性)选项卡。

7.

在 Properties(属性)窗口,将 ID 值从 IDD_ABOUT1 更改为 IDD_ABOUT_WIDE

8.

在 Dialog Editor(对话框编辑器)中,调整 IDD_ABOUT_WIDE 的大小,使其约为 215 x 135,如下图所示。(可以在 IDE 的右下角查看对话框的大小。)


9.

将图标移动到文本右侧,如上图所示。

10.

在 resource.h 中,添加下行。

#define IDD_ABOUT_WIDE    200

11.

在 globals.h 中,添加下行。

#include <DeviceResolutionAware.h>

12.

在 wndproc.cpp 中,导航至 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) 并将以下内容:

DialogBox(g_hInstance, MAKEINTRESOURCE(IDD_ABOUT), 
          hwnd, (DLGPROC)AboutDlgProc);

替换为:

DialogBox(g_hInstance, DRA::GetDisplayMode() != DRA::Portrait ?
          MAKEINTRESOURCE(IDD_ABOUT_WIDE) :MAKEINTRESOURCE(IDD_ABOUT), 
          hwnd, (DLGPROC)AboutDlgProc);

13.

导航至 LRESULT CALLBACK AboutDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 并添加以下 CASE 语句。

case WM_SIZE:
DRA::RelayoutDialog(
g_hInstance, 
hwnd, 
DRA::GetDisplayMode() != DRA::Portrait ?MAKEINTRESOURCE(IDD_ABOUT_WIDE) :MAKEINTRESOURCE(IDD_ABOUT));
return (TRUE);
}

14.

现在,LRESULT CALLBACK AboutDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 应为如下所示:

LRESULT CALLBACK AboutDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam,
LPARAM lParam)
{
SHINITDLGINFO shidi;

switch(uMsg)
  {
case WM_INITDIALOG:
//在 Pocket PC 设备上以常规方式创建所有对话框,使其成为    //上端带有
// OK(确定)按钮的全屏对话框。 
// 创建一个 Done(完成)按钮并设定其大小。
shidi.dwMask = SHIDIM_FLAGS;
shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN;
shidi.hDlg = hwnd;
//初始化基于 dwFlags 参数的对话框
SHInitDialog(&shidi);
// 如果将重点设置在对话框的第一个空间上,应返回非零值,
// 否则,如果此例程手动设置重点,则返回零。
return (TRUE);
    
case WM_COMMAND:
switch (LOWORD(wParam))
    {
case IDOK:
EndDialog(hwnd, 0);
break;
case IDCANCEL:
EndDialog(hwnd, 0);
break;
    }
return (TRUE);
case WM_SIZE:
DRA::RelayoutDialog
(g_hInstance, 
hwnd, 
DRA::GetDisplayMode() != DRA::Portrait ?MAKEINTRESOURCE(IDD_ABOUT_WIDE) :MAKEINTRESOURCE(IDD_ABOUT));
return (TRUE);
  }
return (FALSE);
}

Pocket PC 2003 上运行应用程序的步骤

1.

在 Configuration Manager(配置管理器)中,确保选择了 Pocket PC 2003 (ARMV4),如下图所示。


2.

Device Deployment(设备部署)工具栏中,确保选择了 Pocket PC 2003 SE Emulator(Pocket PC 2003 SE 仿真器),如下图所示。


3.

按 F5。

重要信息:如果在部署过程中收到错误,指出正在使用该进程或文件,这意味着程序仍在仿真器上运行着,必须先退出程序,然后才能部署和运行新的副本。在部署仿真器的体验中,随时都可能出现此错误。有关退出正在运行的应用程序的说明,请参见此体验的附录。

4.

在仿真器中启动应用程序之后,在应用程序中选择 Help | About(帮助 | 关于),如下图所示。


5.

通过按 Calendar(日历)按钮(功能键 2),旋转仿真器,如下图所示。


6.

监视横向形式的 About(关于)框加载完成。

7.

单击 Debug(调试),然后单击 StopDebugging(停止调试)以终止应用程序。

Windows Mobile 5.0 Pocket PC 上运行应用程序的步骤

1.

Configuration Manager(配置管理器)中,确保选择了 Windows Mobile 5.0 Pocket PC SDK (ARMV4I)

2.

Device Deployment(设备部署)工具栏中,确保选择了 Windows Mobile 5.0 Pocket PC Emulator(Windows Mobile 5.0 Pocket PC 仿真器)。

3.

按 F5。

4.

在仿真器中启动应用程序之后,在应用程序中选择 Help | About(帮助 | 关于)。

5.

通过按 Calendar(日历)按钮,旋转仿真器。


监视横向形式的 About(关于)框加载完成。

练习 2:创建智能设备 CAB 项目

创建智能设备 CAB 项目的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,右键单击解决方案,然后选择 Add | New Project(添加 | 新建项目)。

2.

展开 Other Project Types | Setup and Deployment(其他项目类型 | 安装和部署)。

3.

选择 Smart Device CAB Project(智能设备 CAB 项目),并在 Name(名称)文本框中输入 DirTreeSetup,然后单击 OK(确定)。

4.

在 Solution Explorer(解决方案资源管理器)中,右键单击新创建的 DirTreeSetup 项目,然后选择 View | File System(视图 | 文件系统)。

5.

FileSystem(文件系统)窗口中,右键单击 ProgramFiles 文件夹,然后选择 Add | Folder(添加 | 文件夹)。

6.

将新添加的文件夹命名为 DirTree

7.

右键单击 DirTree 文件夹,然后选择 Add | Project Output(添加 | 项目输出)。

8.

Project(项目)下拉列表框中,确保选择了 DirTree,然后单击 PrimaryOutput(主输出)。

9.

Configuration(配置)下拉列表框中,确保选择了 (Active)([活动])。如果您在先前的任务中生成了 DirTree 项目的发行版本,则可以在此 Configuration(配置)下拉列表框中选择 Release(发行)。

10.

单击 OK(确定)。

11.

在 Solution Explorer(解决方案资源管理器)中,右键单击 DirTreeSetup 项目,然后选择 Build(生成)。

12.

可以在 My Documents\Visual Studio 2005\Projects\DirTree\DirTreeSetup\<config>(其中“<config>”为 Release [发行] 或 Debug [调试])中找到 DirTreeSetup.cab 文件。

 

体验 1 总结

在此体验中,您执行了以下练习:

练习 1 – 将 eMbedded Visual C++ Windows Mobile Win32 项目迁移到 Visual Studio 2005

练习 2 – 创建智能设备 CAB 项目

在此体验中,您将一个 eMbedded Visual C++ Pocket PC 2003 应用程序迁移到了 Visual Studio 2005,对其进行了编译,并在 Pocket PC 2003 和 Microsoft Windows Mobile 5.0 Pocket PC 上运行了该应用程序。同时,通过在应用程序处于横向模式时使 About(关于)框以“加宽”形式加载,还向应用程序添加了方向识别功能。

 

体验 2:迁移 eMbedded Visual C++ MFC Windows Mobile 应用程序

注意:许多典型问题应已涵盖在“What's New in Visual Studio 2005 for Native Developers”和“将 Microsoft eMbedded Visual C++ 项目迁移到 Visual Studio 2005”这两本白皮书中。如果用户按 CTRL + 空格键获得 IntelliSense 以完成一行代码,则 IDE 可能会冻结。出现这种情况时,只需告诉用户这是一个已知的错误,不要按 CTRL + 空格键。

此体验的目标是将一个 Microsoft eMbedded Visual C++ MFC Pocket PC 2003 应用程序迁移到 Visual Studio 2005,并为其创建智能设备 CAB 项目。

练习 1 – 迁移基于 Windows Mobile 的 eMbedded Visual C++ MFC 应用程序

练习 2 – 创建智能设备 CAB 项目

练习 1:迁移基于 Windows Mobile eMbedded Visual C++ MFC 应用程序

Visual Studio 2005 中打开 eMbedded Visual C++ 项目的步骤

1.

在 Visual Studio 2005 中,选择 File | Open | Project/Solution(文件 | 打开 | 项目/解决方案)。

2.

浏览到 C:\HOL\chkbook。

3.

选择 chkbook.vcp,然后单击 Open(打开)。

4.

单击 Finish(完成),然后单击 Close(关闭)。

迁移代码的步骤(第 I 部分)

1.

在 checkdlg.cpp 中,将三次出现的 _tcslen 全部替换为 ::wcslen

需要执行此操作以区分平台 API 和 MFC API。

2.

在 chkbkdoc.cpp 中,由于 MFC 8.0 for Devices 中不支持 Dump(转储),所以需要注释以下代码。

Void CCheckBookDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}

3.

在 chkbkdoc.h 中,注释以下代码。

virtual void Dump(CDumpContext& dc) const;

4.

在 chkbkedt.cpp 中,将以下代码:

static bSetTabStops = FALSE;

更改为:

static BOOL bSetTabStops = FALSE;

由于 Visual Studio 2005 设备编译器具有更加紧密的一致性特征(相对 eMbedded Visual C++ 编译器而言),因此需要这样做。

5.

在 chkbkvw.cpp 中,注释以下代码。

void CCheckBookView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}

另外还要注释以下代码。

  m_dlg.m_bFullScreen=FALSE;
m_dlg.m_bFullScreen is always set to True for Windows Mobile platforms (set in dlgcore.cpp)

6.

在 chkbkvw.h 中,注释以下代码。

virtual void Dump(CDumpContext& dc) const;

迁移资源的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,右键单击 chkbook.rc 文件,然后选择 ViewCode(查看代码)。

2.

在 Menu 段中,将以下代码:

IDR_MAINFRAME MENU PRELOAD DISCARDABLE 
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&New...\tCtrl+N",    ID_FILE_NEW
MENUITEM "&Open...\tCtrl+O",  ID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "E&xit",      ID_APP_EXIT
END
POPUP "&Edit"
BEGIN
MENUITEM "&Commit Check",  ID_EDIT_COMMIT
MENUITEM SEPARATOR
MENUITEM "&New Check",    ID_EDIT_NEW_CHECK
MENUITEM SEPARATOR
MENUITEM "Ne&xt Check",    ID_NEXT_CHECK
MENUITEM "&Prev Check",    ID_PREV_CHECK
END
POPUP "&View"
BEGIN
MENUITEM "&Check",      ID_VIEW_CHECK
MENUITEM "&Book",      ID_VIEW_BOOK
END
POPUP "&Help"
BEGIN
MENUITEM "&About...",    ID_APP_ABOUT
END
END

替换为:

  IDR_MAINFRAME MENU PRELOAD DISCARDABLE 
BEGIN
POPUP "Menu"
BEGIN
POPUP "File"
BEGIN
MENUITEM "New...",        ID_FILE_NEW
MENUITEM "Open...",      ID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "Exit",        ID_APP_EXIT
END
POPUP "Edit"
BEGIN
MENUITEM "Commit Check",    ID_EDIT_COMMIT
MENUITEM SEPARATOR
MENUITEM "New Check",      ID_EDIT_NEW_CHECK
MENUITEM SEPARATOR
MENUITEM "Next Check",      ID_NEXT_CHECK
MENUITEM "Prev Check",      ID_PREV_CHECK
END
POPUP "View"
BEGIN
MENUITEM "Check",      ID_VIEW_CHECK
MENUITEM "Book",        ID_VIEW_BOOK
END
POPUP "Help"
BEGIN
MENUITEM "About...",      ID_APP_ABOUT
END
END
END

3.

注释以下代码。

STRINGTABLE DISCARDABLE 
BEGIN
ID_FILE_MRU_FILE1       "Open this document"
ID_FILE_MRU_FILE2       "Open this document"
ID_FILE_MRU_FILE3       "Open this document"
ID_FILE_MRU_FILE4       "Open this document"
ID_FILE_MRU_FILE5       "Open this document"
ID_FILE_MRU_FILE6       "Open this document"
ID_FILE_MRU_FILE7       "Open this document"
ID_FILE_MRU_FILE8       "Open this document"
ID_FILE_MRU_FILE9       "Open this document"
ID_FILE_MRU_FILE10      "Open this document"
ID_FILE_MRU_FILE11      "Open this document"
ID_FILE_MRU_FILE12      "Open this document"
ID_FILE_MRU_FILE13      "Open this document"
ID_FILE_MRU_FILE14      "Open this document"
ID_FILE_MRU_FILE15      "Open this document"
ID_FILE_MRU_FILE16      "Open this document"
END

4.

在 String Table 段中,在最后一个 STRINGTABLE DISCARDABLE 段的末尾添加以下行。

IDS_MENU    "Menu"
IDS_NEW    "New"

RCDATA 添加到 RC2 文件的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,右键单击 Resource Files 文件夹,然后单击 Add | Existing Item(添加 | 现有项)。

2.

双击 Chkbook 示例目录中的 Res 目录,然后将 Files of type(文件类型)更改为 All Files (*.*)(所有文件(*.*))。

3.

选择 chkbook.rc2,然后单击 Add(添加)。

4.

在 Solution Explorer(解决方案资源管理器)中,右键单击 chkbook.rc2,然后选择 ViewCode(查看代码)。

5.

在 Add Manually Edited Resources Here(在此处添加手动编辑的资源)区域中,添加以下代码。

IDR_MAINFRAME RCDATA
BEGIN
IDR_MAINFRAME, 
    2,
    
I_IMAGENONE, ID_FILE_NEW, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
IDS_NEW, 0, NOMENU,

I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_MENU, 0, 0,
END

迁移代码(第 II 部分)

1.

在 resource.h 中,添加以下行。

#define IDS_NEW        70000
define IDS_MENU        70001
#define IDM_MENU        70002

2.

在 chkrec.cpp 中,将三次出现的以下内容:

if (m_file.m_hFile != (UINT)CFile::hFileNull)

全部更改为:

  if (m_file.m_hFile != (HANDLE)CFile::hFileNull)

3.

在 chkrec.h 中,将以下内容:

m_nRecordLength = sizeof(CCheckRecord); if (m_file.m_hFile != -1) m_file.Close();

更改为:

m_nRecordLength = sizeof(CCheckRecord); if (m_file.m_hFile !=  (HANDLE) -1) m_file.Close();

4.

在 mainfrm.cpp 中,做出以下更改:

注释以下代码。

void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}

将整个 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 函数替换为以下代码。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndCommandBar.Create(this) ||
!m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME) ||
!m_wndCommandBar.AddAdornments(dwAdornmentFlags))
  {
TRACE0("Failed to create CommandBar\n");
return -1;      // 无法创建
  }
m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() | CBRS_SIZE_FIXED);

return 0;
}

将以下行添加到 mainfrm.cpp 的顶部。

DWORD dwAdornmentFlags = 0;

5.

在 mainfrm.h 中,做出以下更改:

将以下内容:

CCeCommandBar m_wndCommandBar;

更改为:

      CCommandBar m_wndCommandBar;

注释以下代码。

  virtual void Dump(CDumpContext& dc) const;

更改项目属性的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,右键单击该项目,然后选择 Properties(属性)。

2.

Configuration(配置)下拉列表框中,选择 AllConfigurations(所有配置)。

3.

Platform(平台)下拉列表框中,选择 AllPlatforms(所有平台)。


4.

展开 Linker | Advanced | Entry Point(链接器 | 高级 | 入口点)。

5.

wWinMainCRTStartup 更改为 WinMainCRTStartup

6.

展开 C/C++ | Preprocessor(C/C++ | 预处理器)。

7.

Platform(平台)下拉列表框中,选择 Multiple Platforms(多个平台)。

8.

Multiple Platforms (多个平台)对话框中,清除 Smartphone 2003 (ARMV4)Windows Mobile 5.0 Smartphone SDK (ARMV4I) 复选框。

9.

单击 PreprocessorDefinitions(预处理器定义)属性中的省略号,如下图所示。


10.

将以下条目添加到列表中。

_WIN32_WCE_PSPC

11.

单击 OK(确定),然后单击 Apply(应用)。

Pocket PC 2003 上运行应用程序的步骤

在 Configuration Manager(配置管理器)中,确保选择了 Pocket PC 2003 (ARMV4)


Device Deployment(设备部署)工具栏中,确保选择了 Pocket PC 2003 SE Emulator(Pocket PC 2003 SE 仿真器)。


按 F5。

Windows Mobile 5.0 Pocket PC 上运行应用程序的步骤

1.

在 Configuration Manager(配置管理器)中,确保选择了 Windows Mobile 5.0 Pocket PC SDK (ARMV4I),如下图所示。


2.

DeviceDeployment(设备部署)工具栏中,确保选择了 Windows Mobile 5.0 Pocket PCEmulator(Windows Mobile 5.0 Pocket PC 仿真器),如下图所示。


3.

按 F5。

练习 2:创建智能设备 CAB 项目

创建智能设备 CAB 项目的步骤

1.

在 Solution Explorer(解决方案资源管理器)中,右键单击解决方案,然后选择 Add | New Project(添加 | 新键项目)。

2.

展开 Other Project Types | Setup and Deployment(其他项目类型 | 安装和部署)。

3.

选择 Smart Device CAB Project(智能设备 CAB 项目),然后在 Name(名称)文本框中键入 ChkbookSetup

4.

在 Solution Explorer(解决方案资源管理器)中,右键单击新创建的 ChkbookSetup 项目,然后选择 View | File System(视图 | 文件系统)。

5.

在 File System(文件系统)窗口中,右键单击 Program Files 文件夹,然后选择 Add | Folder(添加 | 文件夹)。

6.

将新添加的文件夹命名为 Chkbook

7.

右键单击 Chkbook 文件夹,然后选择 Add | Project Output(添加 | 项目输出)

8.

Project(项目)下拉列表框中,确保选择了 Chkbook,然后单击 Primary Output(主输出)。

9.

Configuration(配置)下拉列表框中,确保选择了 (Active)([活动])。如果您在先前的任务中生成了 Chkbook 项目的 Release(发行)版本,则可以在此 Configuration(配置)下拉列表框中选择 Release(发行)。

10.

单击 OK(确定)。

11.

在 Solution Explorer(解决方案资源管理器)中,右键单击 ChkbookSetup 项目,然后选择 Build(生成)。

12.

可以在 My Documents\Visual Studio 2005\Projects\Chkbook\ChkbookSetup\<config>(其中“<config>”为 Release [发行] 或 Debug [调试])中找到 ChkbookSetup.cab 文件。

 

附录 A:终止在设备或仿真器上运行的应用程序

此任务说明了如何终止在设备或仿真器上运行的应用程序。如果在没有附加调试器的情况下启动了应用程序,并且需要终止该应用程序以便可以部署新的应用程序副本,则会用到此任务。将通过在 Visual Studio 中使用远程进程查看器这一远程工具来终止应用程序。

需要知道可执行文件的名称才能终止进程。大多数情况下,此名称就是 Visual Studio 项目的名称。如果您不确定可执行文件的名称,则可以在项目属性中查找。

1.

从 Visual Studio 中,选择 Project(项目),然后选择 xxx Properties(xxx 属性),其中 xxx 代表当前项目的名称。

2.

注意 AssemblyName(程序集名称)字段中的值。此值是可执行文件在设备或仿真器上运行时将使用的名称。

3.

关闭 Properties(属性)对话框。

现在,您就可以终止进程了。

4.

Start(开始)菜单中,单击 Start > Microsoft Visual Studio 2005 > Visual Studio Remote Tools > Remote Process Viewer(开始 > Microsoft Visual Studio 2005 > Visual Studio 远程工具 > 远程进程查看器)。

5.

收到 Select a Windows CE Device(选择一个 Windows CE 设备)对话框提示后,选择正在运行该应用程序的仿真器或设备(如下图所示),然后单击 OK(确定)。


6.

连接到仿真器或设备之后,在 RemoteProcessViewer(远程进程查看器)的顶部窗格中找到您要终止的应用程序,如下图所示。


可能需要加宽 Process(进程)列(最左边的列)以完全显示出进程名称。

7.

单击进程名称以选择进程。

8.

要终止进程,请从 RemoteProcessViewer(远程进程查看器)菜单中选择 File > Terminate Process(文件 > 终止进程)。

注意:在单击 Terminate Process(终止进程)之前,请确保选择了正确的进程。终止不正确的进程可能会致使设备或仿真器不可用,这样就必须将其复位才能再次使用。

9.

通过在 Remote Process Viewer(远程进程查看器)菜单上选择 Target > Refresh(目标 > 刷新)并再次滚动浏览顶部窗格,来验证进程是否已终止。如果该应用程序名仍然存在,则说明进程未被终止,您需要重复以上步骤。

注意:大多数进程只需执行一次操作即可终止;但是,根据应用程序状态的不同,偶尔会需要执行两次操作才能终止。

 

体验 2 总结

在此体验中,您执行了以下练习:

练习 1 – 迁移基于 Windows Mobile 的 eMbedded Visual C++ MFC 应用程序

练习 2 – 创建智能设备 CAB 项目

在此体验中,您将一个 eMbedded Visual C++ (eVC) MFC Pocket PC 2003 应用程序迁移到了 Visual Studio 2005。另外,还对应用程序代码进行了更改,将端口从 MFC 3.0 for Devices 改为 MFC 8.0 for Devices。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章