没有合适的资源?快使用搜索试试~ 我知道了~
首页在VS2005环境下用WinCE6.0自制模拟器.pdf
资源详情
资源评论
资源推荐
在VS2005 环境下用WinCE6.0 自制模拟器 收藏
一.所需安装软件:
(1) ActiveSync 4.5 版本;
(2) VS2005 SP1 版本;
(3) Windows Embedded CE 6.0 版本;
二.安装:
1. 安装 VS2005 SP1;
2. 安装 ActiveSync 4.5;( 1 和 2 没有安装顺序要求)
3. 安装 Windows Embedded CE 6.0 ,在安装时,一定要选择支持
CPU ”ARMV4I”;
安装完成后,在 VS2005 创建新项目时,项目类型下会添加 Platform Builder for CE
6.0 项;
三.创建自定义模拟器 SDK:
1. 在 VS2005 里新建项目中时,选择创建 Platform builder for CE 6.0 的 OS
Design,新项目可以自
命名,这里命名为“MyEmulator”。
2. 创建 MyEmulator 的向导中,BSP 一定要选择“Device Emulator: ARMV4I”,
下一步;
3. 模板(Design Templates)选择“PDA Device”,下一步;
4. 选择“Mobile Handheld”,下一步;
5. 应用程序(Application & Media)就随自己的需要选择,下一步;
6. 网络和通信(Networking & Communications)在此只选择“Local Area
Network(LAN)”,下一步;
7. 选择完成;
8. 选择 Acknowledge;
到此工程建完;
四.添加组件(可以根据需要添加,这里主要添加汉字相关的组件)
(1) 添加汉字字库(这里要记得加入,很多人这里没有加入,就出现汉字只看到方
框的现象):
1. 在 Catalog View 添加“Core OS”-->“CEBASE”-->“International”-->“Locale
Specific support”-->“Chinese (Simplified)”-->“Fonts”-->“SimSun &
NSimSum(choose 1)”-->“SimSun & NSimSun”或者“SimSum & NSimSun
(Subset 2_50)”;
2. 在 Catalog View 添加“Core OS”-->“CEBASE”-->“International”-->“Locale
Specific support”-->“Chinese (Simplified)”-->“GB18030 Data Vonverter”
和“Monotype Imaging AC3 Font Compression”;
(2)添加中文输入法:
在 Catalog View 添加“Core OS”-->“CEBASE”-->“International”-->“Locale
Specific support”-->“Chinese (Simplified)”-->“Input Method Editor”-->“MSPY
3.0 for Windows Embedded CE”;
(3) VS2005 中菜单“项目”-->“MyEmulator(项目名)属性”,配置选择“所有配
置 ”,配 置 属 性 -->“Build Options”,在“ Build Options”中去掉“Enable KITL
(no IMGNOKITL=1)” (这里如果加入了 KITL 功能的话,可能在模拟器运
行的时候,会一直是黑屏的);
(4) “Locale”中,Locales 先 Clear All,然后选择“中文(中国)”,Default local
选择“中文(中国)”;
(5) 运行 VS2005 菜单“生成”-->“生成 MyEmulator”;
五.构建 SDK:
1. 运行 VS2005 菜单“项目”-->“Add New SDK…”,在 SDK 属性页中填写
必要的信息,属性“Emulation”中 Configuration 选择 Debug,可以设置模拟
器的显示屏大小及色深,还有内存大小,在此设置为 240 x 320,16 色深,128M
内存,然后“应用”,“确定”。。
2. 然后运行 VS2005 菜单“生成”-->“Build All SDK…”,顺利的话,就会
在%WINCEROOT\OSDesigns\ \MyEmulator\MyEmulator\SDKs\SDK1\MSI\下
会有 MyEmulator.msi;
六.配置 VS2005:
1、先安装生成好的 MyEmulator.msi。运行 Visual Studio 2005,选择菜单“工具-
>选项”,打开选项设置对话框,从左边的树型列表中选择“设备工具->设
备”,右边的下拉列表框拉到底可以看到 “MyEmulator”,这就是刚刚生成
的那个模拟器。下面的设备列表里有两项,双击 MyEmulator,设定传输为
DMA 传输,再点击“仿真器选 项”,在“显示”选项卡里设定好模拟器屏
幕尺寸,颜色深度等,全部保存。
2、用 VS2005 新建一个智能设备项目,向导选择平台时,先删除 Pocket PC 2003,
选择 MyEmulator,完成。然后按 F5 运行程序,顺利的话定制的模拟器就会
出来了(不过这个过程比较慢,需要等待一段时间)。
继续学习 wince socket
2008-06-23 00:16
1.先看一个代码:
//这是一个 winsock 异步编程的例子
//这个服务监听 1000 端口,可以使用 telnet localhost 1000 进行测试,最大允许 20 个连接
#include <stdio.h>
#include <Winsock2.h>
#pragma comment(lib, "WS2_32.LIB")
#define MAX_SOCKETS 20
#define MAX_BACKLOG 1
#define PORT 1000
SOCKET Startlisten(int port)
{
WORD wVersion=MAKEWORD(2,0);
WSADATA wsData;
int nResult= WSAStartup(wVersion,&wsData);
if(nResult !=0)
{
return 0;
}
SOCKET sock=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(sock==INVALID_SOCKET)
{
return 0;
}
sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_port= htons(port); //保证字节顺序
addr.sin_addr.s_addr= htonl(INADDR_ANY);
nResult=bind(sock,(sockaddr*)&addr,sizeof(sockaddr));
if(nResult==SOCKET_ERROR)
{
return 0;
}
nResult=listen(sock,MAX_BACKLOG); //最多 MAX_BACKLOG 个 Pending 连接
if(nResult==SOCKET_ERROR)
{
return 0;
}
printf("Please try: telnet localhost 1000\n");
return sock;
}
int main()
{
//init winsock env
WORD wVersion=MAKEWORD(2,0);
WSADATA wsData;
int nResult= WSAStartup(wVersion,&wsData);
//create the first event
WSAEVENT eventList[MAX_SOCKETS+1];
int eventIndex=0;
eventList[eventIndex]=WSACreateEvent();
//start listen on 1000
SOCKET sockList[MAX_SOCKETS+1];
sockList[eventIndex]=Startlisten(PORT);
//use WSAEventSelect to set the server to running on async mode
int rc = WSAEventSelect(sockList[eventIndex], eventList[eventIndex],
FD_READ|FD_WRITE|FD_ACCEPT|FD_CLOSE|FD_CONNECT);
int index;
sockaddr_in client;
//waiting on the events to deal with connect requests or network read event
while( (index=WSAWaitForMultipleEvents(eventIndex+1,eventList,false,WSA_INFINITE
,
WSA_WAIT_FAILED)
{
index -= WSA_WAIT_EVENT_0;
WSANETWORKEVENTS type;
WSAEnumNetworkEvents(sockList[index],eventList[index],&type);
switch(type.lNetworkEvents)
{
case FD_ACCEPT://服务器端接收到连接请求后
{
int len=sizeof(sockaddr);
if (eventIndex < MAX_SOCKETS)
{
++eventIndex;
sockList[eventIndex] =accept(sockList[index],(sockaddr*)&cli
e
eventList[eventIndex]=WSACreateEvent();
rc = WSAEventSelect(sockList[eventIndex], eventList[eventInd
e
FD_READ|FD_WRITE|FD_CLOSE|FD_CONNECT);
printf("connected
from %s:%d\n",inet_ntoa( client.sin_addr ),client.sin_port);
}
}
break;
case FD_READ:
{
char mess;
rc =recv(sockList[index],&mess,1,0);
//ctrl+c == 3
if (mess == 3 || rc ==SOCKET_ERROR)
{
shutdown(sockList[index],SD_SEND);
break;
}
char b='a';
//rc=send(sockList[index],&b,sizeof(b),0);
//rc=send(sockList[index],&mess,sizeof(mess),0);
printf("%c",mess);
//printf("oooo/n");
}
break;
case FD_WRITE:
{
char buf[256];
sprintf(buf,"hello,you are the %d client.\n",eventIndex);
rc=send(sockList[index],buf,strlen(buf),0);
}
break;
case FD_CLOSE:
{
int len=sizeof(sockaddr);
getpeername(sockList[index],(sockaddr*)&client,&len);
printf("Closed from %s:%d\n",inet_ntoa( client.sin_addr ),client.
s
closesocket(sockList[index]);
}
break;
}
}
return 0;
}
剩余29页未读,继续阅读
黑石猴子
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6