共用方式為


逐步解說:Hello World:智慧型裝置的 COM Interop 範例

更新:2007 年 11 月

本逐步解說將簡單的 COM 物件和 Managed 應用程式結合在一個解決方案中。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

此逐步解說是使用 [Visual C++ 開發設定] 所撰寫。

建立 COM 物件

若要建立智慧型裝置 ATL 專案

  1. 指向 [檔案] 功能表上的 [新增],按一下 [專案],展開 [專案類型] 窗格中的 [Visual C++],然後按一下 [智慧型裝置]。

  2. 在 [範本] 窗格中,按一下 [ATL 智慧型裝置專案]。

  3. 在 [名稱] 方塊中,輸入 HelloCOMObject。

  4. 在 [方案名稱] 方塊中,輸入 InteropSolution。

  5. 按一下 [確定] 啟動 [ATL 智慧型裝置專案精靈]。

  6. 按一下 [完成] 關閉精靈。

    在本逐步解說中,您並不需要變更精靈中的任何預設設定。

若要加入類別

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [HelloCOMObject] 專案,指向 [加入],然後按一下 [類別] 開啟 [加入類別] 對話方塊。

  2. 在 [分類] 窗格中,按一下 [智慧型裝置]。

  3. 在 [範本] 窗格中,按一下 [ATL 簡單物件],再按一下 [加入] 開啟 [ATL 簡單物件精靈]。

  4. 在 [簡短名稱] 方塊中,輸入 Hello。

  5. 在左邊的窗格中,按一下 [選項] 開啟 [選項] 頁面。

  6. 在 [執行緒模型] 群組中,選取 [無限制],然後按一下 [完成]。

若要將方法加入至類別

  1. 從桌面上的索引標籤或是從 [檢視] 功能表開啟 [類別檢視] 視窗。

  2. 展開 [HelloCOMObject] 以顯示 [IHello] 介面。

  3. 以滑鼠右鍵按一下 [IHello],指向 [加入],然後按一下 [加入方法] 開啟 [加入方法精靈]。

  4. 在 [方法名稱] 方塊中,輸入 HelloWorld。

  5. 在 [參數型別] 方塊中,選取 [BSTR*]。

  6. 在 [參數名稱] 方塊中,輸入 text。

  7. 在 [參數屬性] 群組中,選取 [out]。

  8. 按一下 [加入]。

    方法方塊會顯示 [out] BSTR* text。

  9. 按一下 [完成] 關閉 [加入方法精靈]。

    STDMETHOD(HelloWorld)(BSTR* text) 方法會顯示在 Hello.h 檔案中。

若要將實作加入至方法

  1. 在 [方案總管] 中,按兩下 [Hello.cpp] 在程式碼編輯器中開啟這個檔案。

  2. 在 [STDMETHODIMP] 區段中,在 return 陳述式前面插入下列實作程式碼:

    *text = SysAllocString(L"Hello World!");
    
  3. 在 [建置] 功能表上,按一下 [建置 HelloCOMObject]。

    現在 COM 物件已經成為方案的一部分,此逐步解說的第一個部分也已經完成。

建立 Managed 專案

若要將 Managed 專案加入至方案

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [InteropSolution],指向 [加入],然後按一下 [新增專案]。

  2. 在 [專案類型] 窗格中,展開 [Visual C#],按一下 [智慧型裝置],按一下 [範本] 窗格中的 [智慧型裝置專案],在 [名稱] 方塊中輸入 SayHello,然後按一下 [確定]。

  3. 在 [加入新智慧型裝置專案] 對話方塊中,按一下 [裝置應用程式],然後按一下 [確定]。

    SayHello Managed 專案就會建立為方案的一部分,[設計工具] 視窗中也會出現 Windows Mobile 5.0 Pocket PC 表單。

在 Managed 專案中加入 COM 物件做為參考

若要在 Managed 專案中加入 COM 物件做為參考

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [SayHello] 專案,然後按一下 [加入參考]。

  2. 在 [加入參考] 對話方塊中,按一下 [瀏覽]。

    [SayHello] 資料夾會出現在 [查詢] 方塊中。

  3. 巡覽至上一層資料夾 (在本逐步解說中則是 [InteropSolution])。

  4. 在顯示資料夾內容的視窗中,依序按兩下 [HelloCOMObject]、[Windows Mobile 5.0 Pocket PC SDK (ARMV4)]、[Debug],然後按一下 [HelloCOMObject.dll]。

  5. 按一下 [確定] 關閉 [加入參考] 對話方塊。

    注意事項:

    您必須以系統管理員身分登入。在 Windows Vista 中,請在啟動 Visual Studio 時,選取 [以系統管理員身分執行]。

  6. 在 [方案總管] 中,以滑鼠右鍵按一下 [Form1.cs],然後按一下 [檢視程式碼]。

  7. 在檔案頂端的 [Using directives] 區域中,加入下列程式碼:

    using HelloCOMObjectLib;
    

將事件處理加入至 Managed 專案

若要將事件處理加入至 Managed 專案並予以建置

  1. 開啟 Form1 設計工具。

  2. 從 [工具箱] 將 [按鈕] 拖曳到表單上。

  3. 按兩下此按鈕,在 Click 事件開啟程式碼編輯器。

  4. 插入下列按鈕事件處理程式碼:

    string text;
    HelloClass h = new HelloClass();
    h.HelloWorld(out text);
    MessageBox.Show(text);
    
  5. 在 [建置] 功能表上,按一下 [建置 SayHello]。

對方案做最後的調整

若要設定方案以進行部署

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [SayHello] 專案,然後按一下 [設定為啟始專案]。

  2. 在 [方案總管] 中,以滑鼠右鍵按一下 [InteropSolution] 方案,然後按一下 [專案相依性]。

  3. 在 [專案相依性] 對話方塊中,選取 [專案] 下拉式清單中的 [SayHello],然後在 [相依於] 方塊中選取 [HelloCOMObject]。

  4. 按一下 [確定]。

    方案現在就可供您部署了。

部署混合方案

若要部署方案

  1. 在 [偵錯] 功能表上,請按 [啟動但不偵錯]。

  2. 在 [部署] 對話方塊中,按一下 [Windows Mobile5.0 Pocket PC 模擬器],然後按一下 [部署]。

儲存這個方案,以便在逐步解說:偵錯包含 Managed 程式碼和機器碼的方案中使用。

請參閱

概念

裝置的 COM 互通性

參考

Visual Basic 和 Visual C# (智慧型裝置中的 [如何?])