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

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

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

       打開(kāi)wince OS Designe工程,點(diǎn)擊文件(F) -> 新建(N)-> Subproject添加子工程,工程類型設(shè)置為WCE Application,Subproject name命名為Helloworld

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


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

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

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

       這是工程面板中看起來(lái)如下:

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

       //

// 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個(gè)圖標(biāo)資源文件IDI_HELLOWORLD2個(gè)字符串資源IDS_APP_TITLEIDS_HELLO


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

       A、右鍵點(diǎn)擊HelloCPL -> Source Files,選擇Add -> New Item,見(jiàn)下圖:

       點(diǎn)擊Add后,雙擊HelloCPL->source files->HelloCPL.rc,見(jiàn)下圖

      


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

       并修改IconIDIDI_HELLOWORLD.

       C重復(fù)步驟B,添加String Table,并修改String Table中的內(nèi)容如下:

 


5編譯控制面板應(yīng)用程序

A右鍵點(diǎn)擊HelloCPL工程,選擇屬性,彈出如下窗口

B、選擇General標(biāo)簽頁(yè),在Custom Variable欄點(diǎn)擊 按鈕打開(kāi)Custom Variable對(duì)話框。

 

C、點(diǎn)擊NEW打開(kāi)Environment Variable窗口,Variable Name輸入CPL,Variable Value輸入1。點(diǎn)擊OK關(guān)閉Environment Variable,再點(diǎn)擊OK關(guān)閉Custom Variables。這樣做的目的是強(qiáng)制工程輸出.cpl文件,而不是.dll文件。

D、點(diǎn)擊C/C++標(biāo)簽頁(yè),在Include Directories添加$(_PROJECTROOT)\cesysgen\oak\inc。

       確認(rèn)Additional MacroDefinitions設(shè)置為$(CDEFINES) -DHelloCPL_EXPORTS。

       修改DLL Entry PointDllmain。

      點(diǎn)擊OK關(guān)閉屬性設(shè)置對(duì)話框。

E、修改HelloCPL.bib,替換為如下內(nèi)容

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

F、右鍵點(diǎn)擊HelloCPL,然后Build即可生成對(duì)應(yīng)的內(nèi)核,燒錄到系統(tǒng)啟動(dòng)后即可在控制面板中看到Hello Control Panel的圖標(biāo),雙擊后即可運(yùn)行Helloworld.exe



 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

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

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