999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業(yè)以太網 | 現(xiàn)場總線 | 顯示調節(jié)儀表 | 數(shù)據采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
WINCE下如何添加CPL應用程序
深圳市盈鵬飛科技有限公司
收藏本文     查看收藏

2 創(chuàng)建Hello World應用工程

       打開wince OS Designe工程,點擊文件(F) -> 新建(N)-> Subproject添加子工程,工程類型設置為WCE ApplicationSubproject name命名為Helloworld

       點擊下一步(N),選擇A typical “Hello world” application,然后點擊完成(F)。


3 創(chuàng)建HelloCPL控制面板應用工程

點擊文件(F) -> 新建(N)-> Subproject添加子工程,工程類型設置為WCE Dynamic-Link Library,工程名為HelloCPL

       然后點擊下一步(N),在Auto-generated subproject files頁面中選擇A Dll that exports some symbols。

       這是工程面板中看起來如下:

       雙擊HelloCPL工程中Source files下的HelloCPL.cpp,將其中的內容替換如下:

       //

// HelloCPL.cpp : Defines the entry point for the DLL

//

 

#include "stdafx.h"    // Auto-generated by wizard.

#include "HelloCPL.h"  // Auto-generated by wizard.

#include "resource.h"  // Auto-generated at compile time

 

#include <tchar.h>     // General text functions.

#include "cpl.h"       // Control Panel support.

#define DEBUG

// Returns the number of characters in an expression.

#define lengthof(exp) ((sizeof((exp)))/sizeof((*(exp))))

 

HMODULE g_hModule = NULL;   // Handle to the DLL.

 

// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

// Main entry point for the Control Panel DLL.

// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

extern "C" BOOL APIENTRY DllMain( HANDLE hModule,

                       DWORD  ul_reason_for_call,

                       LPVOID lpReserved )

{

  switch (ul_reason_for_call)

  {

    case DLL_PROCESS_ATTACH:

    {

      g_hModule = (HMODULE) hModule;

    }

    case DLL_THREAD_ATTACH:

    case DLL_THREAD_DETACH:

    case DLL_PROCESS_DETACH:

       break;

    }

    return TRUE;

}

 

// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

// The entry point to the Control Panel application.

// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

extern "C" HelloCPL_API LONG CALLBACK CPlApplet(HWND hwndCPL,

                  UINT message, LPARAM lParam1, LPARAM lParam2)

{

  switch (message)

  {

    case CPL_INIT:

      // Perform global initializations, especially memory

      // allocations, here.

      // Return 1 for success or 0 for failure.

      // Control Panel does not load if failure is returned.

      return 1;

 

    case CPL_GETCOUNT:

      // The number of actions supported by this Control

      // Panel application.

      return 1;

 

    case CPL_NEWINQUIRE:

      // This message is sent once for each dialog box, as

      // determined by the value returned from CPL_GETCOUNT.

      // lParam1 is the 0-based index of the dialog box.

      // lParam2 is a pointer to the NEWCPLINFO structure.

    {

      ASSERT(0 == lParam1);

      ASSERT(lParam2);

 

      NEWCPLINFO* lpNewCplInfo = (NEWCPLINFO *) lParam2;

      if (lpNewCplInfo)

      {

         lpNewCplInfo->dwSize = sizeof(NEWCPLINFO);

         lpNewCplInfo->dwFlags = 0;

         lpNewCplInfo->dwHelpContext = 0;

         lpNewCplInfo->lData = IDI_HELLOWORLD;

 

         // The large icon for this application. Do not free this

         // HICON; it is freed by the Control Panel infrastructure.

         lpNewCplInfo->hIcon = LoadIcon(g_hModule,

                                  MAKEINTRESOURCE(IDI_HELLOWORLD));

 

          LoadString(g_hModule, IDS_APP_TITLE, lpNewCplInfo->szName,

                     lengthof(lpNewCplInfo->szName));

          LoadString(g_hModule, IDS_HELLO, lpNewCplInfo->szInfo,

                     lengthof(lpNewCplInfo->szInfo));

//        LoadString(g_hModule, IDC_HelloWorld, lpNewCplInfo->szInfo,

//                     lengthof(lpNewCplInfo->szInfo));

          _tcscpy(lpNewCplInfo->szHelpFile, _T(""));

          return 0;

      }

      return 1;  // Nonzero value means CPlApplet failed.

    }

 

    case CPL_DBLCLK:

    {

      // The user has double-clicked the icon for the

      // dialog box in lParam1 (zero-based).

      PROCESS_INFORMATION pi = {0};

      if (CreateProcess(_T("\\Windows\\HelloWorld.exe"), NULL, NULL,

                             NULL, FALSE, 0, NULL, NULL, NULL, &pi))

      {

        CloseHandle(pi.hThread);

        CloseHandle(pi.hProcess);

        return 0;

      }

      return 1;     // CPlApplet failed.

    }

 

    case CPL_STOP:

      // Called once for each dialog box. Used for cleanup.

    case CPL_EXIT:

      // Called only once for the application. Used for cleanup.

    default:

      return 0;

  }

 

  return 1;  // CPlApplet failed.

  }  // CPlApplet

      &nbs, p;  本工程用到1個圖標資源文件IDI_HELLOWORLD,2個字符串資源IDS_APP_TITLEIDS_HELLO。


4 向控制面板添加資源文件

       A、右鍵點擊HelloCPL -> Source Files,選擇Add -> New Item,見下圖:

       點擊Add后,雙擊HelloCPL->source files->HelloCPL.rc,見下圖

      


B、右鍵點擊上圖中的HelloCPL.rc,選擇Add Resource,彈出下面的對話框,添加ICON

       并修改IconIDIDI_HELLOWORLD.

       C、重復步驟B,添加String Table,并修改String Table中的內容如下:

 


5編譯控制面板應用程序

A、右鍵點擊HelloCPL工程,選擇屬性,彈出如下窗口

B選擇General標簽頁,在Custom Variable欄點擊 按鈕打開Custom Variable對話框。

 

C、點擊NEW打開Environment Variable窗口,Variable Name輸入CPL,Variable Value輸入1。點擊OK關閉Environment Variable,再點擊OK關閉Custom Variables。這樣做的目的是強制工程輸出.cpl文件,而不是.dll文件。

D、點擊C/C++標簽頁,在Include Directories添加$(_PROJECTROOT)\cesysgen\oak\inc。

       確認Additional MacroDefinitions設置為$(CDEFINES) -DHelloCPL_EXPORTS。

       修改DLL Entry PointDllmain。

      點擊OK關閉屬性設置對話框。

E修改HelloCPL.bib,替換為如下內容

                           MODULES
                           HelloCPL.cpl $(_FLATRELEASEDIR)\HelloCPL.cpl           NK

F右鍵點擊HelloCPL,然后Build即可生成對應的內核,燒錄到系統(tǒng)啟動后即可在控制面板中看到Hello Control Panel的圖標,雙擊后即可運行Helloworld.exe



 

狀 態(tài): 離線

公司簡介
產品目錄

公司名稱: 深圳市盈鵬飛科技有限公司
聯(lián) 系 人: 李希崗
電  話: 0086-13602511395
傳  真: 0755-82523175,82523176-819
地  址: 深圳市福田區(qū)福明路40號,雷圳大廈12A06
郵  編: 518033
主  頁:
 
該廠商相關技術文摘:
Wince sqlite3移植
EAC-C925開機畫面實現(xiàn)手冊
英貝德推出單板機產品軟件升級解決方案(WinCE篇)
EP9315電路設計要點
Linux下創(chuàng)建和使用RamDisk的技巧
英貝德科技移植PPP大揭秘:PPP撥號在ARM2410平臺上的移植
AT91SAM9263在人機界面方面的應用
詳解WinCE下USB Host驅動開發(fā)(2)
詳解WinCE下USB Host驅動開發(fā)(1)
WinCE驅動中設備中斷的處理
Linux內核學習之BogoMIPS值的計算
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡

關于我們 | 聯(lián)系我們 | 廣告服務 | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved