嵌入开发(WinCE)的一些经验(2)

来源:本站
导读:目前正在解读《嵌入开发(WinCE)的一些经验(2)》的相关信息,《嵌入开发(WinCE)的一些经验(2)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《嵌入开发(WinCE)的一些经验(2)》的详细说明。
简介:嵌入开发(WinCE)的一些经验

“添加/删除硬件向导”----------“添加/排除设备故障”----------“选择一个硬件设备”中选择“Microsoft Loopback Adapter”.

隐藏“开始”栏

HWND lpClassName;

lpClassName = ::FindWindow(TEXT("HHTaskBar"), NULL);

::ShowWindow(lpClassName, SW_HIDE);

只隐藏Taskbar还不行,你得把work area 设为整个屏幕:

int screenx=GetSystemMetrics(SM_CXSCREEN);

int screeny=GetSystemMetrics(SM_CYSCREEN);

CRect rcWorkArea;

rcWorkArea.left = 0;

rcWorkArea.right = screenx;

rcWorkArea.top = 0;

rcWorkArea.bottom = screeny;

::SystemParametersInfo( SPI_SETWORKAREA, 0, &rcWorkArea, SPIF_SENDCHANGE );

如何获取 Pocket PC 2002 装置的序列号(以下例程获取的装置的序列号通常是Flash ROM的ID号.)?

--------------------------------------------------------------------------------

从 Pocket PC 2000 开始, 微软就建议OEM厂商提供一个叫 KernelIoControl 的函数, 以便用户能访问Pocket PC 2002装置内建的序列号; 遗憾的是, 几乎没有厂商提供这个支持.

从 Pocket PC 2002 开始, 微软开始强制OEM厂商提供此函数. 目前市面上所有经过biplip测试的Pocket PC 2002装置都支持这个函数调用.

以下是个调用例子:

#include

extern "C" __declspec(dllimport)

BOOL KernelIoControl(

DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize,

LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned

);

#define IOCTL_HAL_GET_DEVICEID CTL_CODE(FILE_DEVICE_HAL, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)

CString GetSerialNumberFromKernelIoControl()

{

DWORD dwOutBytes;

const int nBuffSize = 256;

byte arrOutBuff[nBuffSize];

BOOL bRes = ::KernelIoControl(IOCTL_HAL_GET_DEVICEID,

0, 0, arrOutBuff, nBuffSize, &dwOutBytes);

if (bRes) {

CString strDeviceInfo;

for (unsigned int i = 0; i CString strNextChar;

strNextChar.Format(TEXT("%02X"), arrOutBuff);

strDeviceInfo += strNextChar;

}

CString strDeviceId =

strDeviceInfo.Mid(40,2) +

strDeviceInfo.Mid(45,9) +

strDeviceInfo.Mid(70,6);

return strDeviceId;

} else {

return _T("");

}

}

=====================================================================================

我用以下代码成功禁止任务栏被点击,但不知怎样才能解除,特此请教,谢谢。

LONG lOldWindowStyle;

RECT rectOldTaskBarRect;

HWND hOldhTaskBar = ::FindWindow(_T("HHTaskBar"),NULL);

while( hOldhTaskBar == NULL )

{

hOldhTaskBar = ::FindWindow(_T("HHTaskBar"),NULL);

Sleep( 1000 );

}

::GetWindowRect( hOldhTaskBar, &rectOldTaskBarRect );

::SetWindowPos( hOldhTaskBar, HWND_BOTTOM, 0, 0, 0, 0, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE);

lOldWindowStyle = GetWindowLong(hOldhTaskBar, GWL_STYLE);

::SetWindowLong( hOldhTaskBar, GWL_STYLE, lOldWindowStyle|WS_DISABLED );

比如控制打开一个jpg文件。

我用的是ShellExecute,好像有点问题:

ExecuteFile(LPCTSTR filename)

{

SHELLEXECUTEINFO info;

info.cbSize=sizeof(SHELLEXECUTEINFO);

info.fMask=SEE_MASK_NOCLOSEPROCESS;

info.hwnd=this->GetSafeHwnd();

info.lpVerb=L"open";

info.lpFile=filename;

info.lpParameters=NULL;

info.lpDirectory=NULL;

info.nShow=SW_SHOW;

return ShellExecuteEx(&info);

}

这会用IE来打开jpg

每次总是第一次的时候对,以后调用的时候总是自动调原来的东西,没有更新。还有其他更好用的api吗?

Microsoft® eMbedded Visual C++ 4.0

http://download.microsoft.com/download/WindowsCENETPlatformBuilder/Install/4.0/NT5XP/EN-US/eVC4.exe

eMbedded Visual C++ 4.0 SP1 ENU

http://download.microsoft.com/download/WinCENET41PlatBuilder/SP/4.0/NT5XP/EN-US/eVC4SP1.exe

eMbedded Visual Tools 3.0

http://download.microsoft.com/download/9/d/2/9d2f6ee8-4c75-4749-86df-2dd5189e6081/evt2002web_min.exe

OK" 按钮隐掉

SHDoneButton(AfxGetMainWnd()->m_hWnd,SHDB_HIDE);

"X" 按钮隐掉

ModifyStyle(AfxGetMainWnd()->m_hWnd,WS_CAPTION,WS_MINIMIZEBOX,SWP_NOSIZE);

ftp://ftp.wy.hziee.edu.cn/winsoft

单步调试是完全可以的。

首先安装微软的同步软件在PC机上;其次在PC机上运行该同步软件的同时,在小机上运行Windowsrepllog.exe文件;如果同步成功,在PC机上会出现一个盘符(Mobile device)。在其中可以看到小机的文件。这样同步即完成。

在选择了该目标机后,在开始调试前会出现同步提示框。同步成功后即可单步调试;我是通过这样的方法来调试CE系统的,单步不成问题!

如果您是在硬件上运行您的程序,除了SDK外还需要装同步软件,一般是Microsoft ActiveSync。可以在微软的网站上下载到。

全球第一款中文Windows手机,dopod具有强大的功能:配备Intel SA-1110 CPU,主频为206MHz,运算能力相当于PII。内存采用32兆/64兆SDRAM,32兆/64兆闪存。配备SD卡接口,可以用SD卡实现存储扩容。显示屏规格为3.5" 240x320 pixels, 4096彩色反射式TFT。内置GSM/GPRS模块,分别支持900/1800 MHz的GSM和GPRS无线通信功能。在基本应用程序方面,dopod686类似其他采用Pocket PC操作系统的高端掌上电脑,具有Pocket Word、Pocket Excel、Pocket TV以及Windows Media Player等功能。支持中文连笔手写识别,并可以做到中英文混合识别。通过Microsoft ActiveSync可以与PC同步进行数据传输。也可以通过红外接口与笔记本、其他掌上设备以及手机进行数据交换。通过类似Outlook式的联系人功能管理移动电话、电子邮件、短信等通信功能,可以方便地进行短信群发等操作。传统PDA的各种功能在dopod中仅仅能算是最为基本的功能,其最大亮点在于其强大的多媒体功能,可以非常流畅地播放音频和视频文件。

提醒:《嵌入开发(WinCE)的一些经验(2)》最后刷新时间 2024-03-14 01:07:14,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《嵌入开发(WinCE)的一些经验(2)》该内容的真实性请自行鉴别。