- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 关于虚拟串口
运行环境: WinCE5.0 我们有一个GPS模块连接在COM3上,现在有两个应用程序都需要读取COM3的内容,然而WinCE的串口为独占式的串口,因此我们需要一个驱动程序,将COM3虚拟成COM4和COM5来供应用程序使用。下面我来介绍一下驱动程序的设计。 首先我们要解决虚拟串口驱动加载的问题 加载方法一:
2009-08-20 14:09:00
3987
1
原创 COM组件设计与使用——概述
COM组件的设计: COM组件—— 即按照COM规范编写的组件程序,它既可以是dll也可以是exe。 下面以dll组件开发为例进行说明 假设组件名字为 test.dll 首先,根据功能需要我们要设计一些类,这些类叫做COM对象类,每个COM对象类需要一些接口来提供类的功能。我们要为每个COM对象类,提供一个CLSID,为每一个类的接口提供一个IID,用来作为COM
2009-06-11 16:15:00
1017
原创 Byte型CRC8校验算法使用
//*******************************************************************************************/* CRC余式表 */const static crc_ta_Array[]={0x0, 0x0, 0x10, 0x21, 0x20, 0x42, 0x30, 0x63, 0x40, 0x84, 0x50
2009-03-04 17:15:00
9375
1
原创 字符串操作-memcpy
LPBYTE Buff = NULL;int nBuffLen=512;Buff = new BYTE[nBuffLen];memset(Buff,1,nBuffLen); 上面一段代码会将长度为512字节的内存赋值为1; memcpy(Buff,"fwq123",6);这条代码执行后,Buff[5]的值为‘3’Buff[6]的值为‘’。Buff[6]被作为一个字符串结束的
2009-03-04 16:57:00
3279
原创 如何在定制WinCE系统时添加MSMQ组件
定制WinCE的OS时 除了添加MSMQ组件外,还需要在注册表中添加如下内容:[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ][HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/SimpleClient]"CETrackNetwork"="Yes""BaseDir"="//FlashDisk//MSMQFi
2009-01-16 16:17:00
1407
2
转载 WINCE下内核模式和用户模式有什么区别?
为了使读者能够详细了解WINCE的地址映射原理还有两种模式,在这里我分几个部分说明: 1、WINCE内核nk.exe的任务是管理操作系统核心功能。按照OEMAddressTable的映射要求,所有物理地址都映射到0x80000000以上,所以对于内核程序nk.exe和内核模式下的线程来说,只要访问0x80000000以上的有效虚拟地址经MMU就能够访问物理地址,无需再映射是内核模式的一个特点。内
2009-01-04 17:10:00
1291
原创 同名进程互斥
通常我们编写了一个程序,如果不加任何限制,用户可以多次运行这个程序,那么在系统中可以产生多个同名的进程。如果要想使系统中只能有一个这样的进程存在,用户运行第二次就不能启动程序,那么就需要在程序启动开始时中首先调用如下函数:BOOL CheckMutex(){ SetLastError(0); BOOL bResult = TRUE;
2008-12-29 17:00:00
1139
原创 C/C++变量在内存中的存储
在C++语言中,有如下代码: char a; int b; int c; a=1; b=1; printf("a = %x /r/n",a); printf("b = %x/r/n",b); c=a; printf("c = %x/r/n",c);输出的结果是 a = 31b =
2008-12-28 15:09:00
1047
转载 VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用
一、 在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。 strlen("asd") = 3; strlen(L"asd") = 6; 二、 _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式
2008-12-25 17:12:00
1067
1
原创 WinCE 流接口驱动加载流程
这里只描述一个已经编译好的DLL文件如何被加载到NK中。下面我们假设这个驱动的名字是 myDriver.dll。 1、 将myDriver.dl 拷贝到 工程文件夹下的Release目录下。2、 修改reg文件。在platform.reg或者project .reg 中添加如下语句[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/API]
2008-12-25 08:48:00
1417
1
原创 WinCE下钩子应用(一)——WinCE 下实时捕获键盘消息
通常我们捕获键盘消息会在WindowProc函数种用一个switch来监听WM_KEYUP和WM_KEYDOWN消息,当按下键盘时程序就会收到这个消息。但是,有一个前提是当焦点是在当前窗口时,这个WM_KEYUP和WM_KEYDOWN消息才会被捕获到。如果我们需要在任何情况下使用这个应用程序捕获到键盘的动作就需要使用钩子。Hook(钩子)是一种在消息到达目标窗口前进行截获的技术。使用钩子主要使
2008-12-23 14:57:00
5680
原创 文件读取的一个问题
D盘下有一个文件CECameraData.txt,里面存的是一段视频数据的二进制码,这个文件是在WinCE5.0下获得的。现在,要在Window XP上将这个文件中的数据读取出来,并在调试窗口输出其16进制码。 代码如片段如下: g_hlogWR=CreateFile("d://Camera_log.txt",GENERIC_WRITE|GENERIC_READ,
2008-12-18 11:32:00
676
原创 WinCE6.0体系结构
WinCE6.0中的程序有两个级别,分为内核级和用户级。有些程序可以同时运行在内核及和用户级。例如:Coredll会分别运行在内核级和用户级上,这两个级别的Coredll功能是一样的,目的是增加系统的稳定性。 GWES:WinCE通过这模块提供的图形接口提供了几个功能:基本的绘图引擎、窗口管理、接口的事件机制等,是用户、应用程序和操作系统间的接口。
2008-12-15 15:40:00
958
转载 播下幸福的种子在别人心(转自www.yeeyan.com)
一位特别要好的朋友跟我说,他最近做什么事情都没有心思,身上觉得没有力量,软软的,什么事情也不想做。我和他围绕着力量和力量的来源谈了许多,自己也由此想了许多。 一个健康的人和团队需要的是什么力量呢?我想是宁静的力量、正义的力量、团结的力量、追求真理的力量、爱的力量、科学的力量、仁慈语言的力量……这些力量本身就可以使自己充实。只有自己充实了才能做好自己的事,而这些力量也会
2008-12-05 12:42:00
1445
1
原创 WinCE 流接口驱动中设备句柄的传输过程
驱动程序是通过设备句柄来控制设备的,应用程序要控制设备,也需要获得设备句柄,然后使用驱动程序体提供的DeviceIoControl接口来控制设备。那么应用程序是如何获得设备句柄的呢?通常流接口驱动程序会使用两个结构体,驱动上下文结构体和设备上下文结构体。设备句柄会保存在设备上下文结构体中,驱动上下文结构体会保存设备上下文结构体的地址。这样通过驱动上下文结构体就能够得到设备句柄。下面我定义一
2008-12-04 17:11:00
957
原创 WinCE下的注册表操作
1、打开注册表:HKEY hKey = NULL;LONG lRet = 0;lRet= LONG RegOpenKeyEx( HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, //始终为0 REGSAM samDesired, //始终未0 PHKEY phkResult );hKey [in]:是一
2008-12-02 17:02:00
1490
原创 指针和数组的区别
指针数组保存数据的地址保存数据间接访问数据,首先取得指针的内容,把它作为地址,然后从这个地址提取数据。如果指针有一个下标[i],就把这个指针的内容加上i作为地址,然后从这个地址提取数据。直接访问数据,a[i]只是简单的以a+i为地址取得数据。通常用于动态数据结构通常用于存储固定数目且数据类型相同的元素相关的函数为malloc
2008-12-01 11:15:00
539
1
翻译 WinCE WebCamera驱动开发白皮书
Windows CE USB摄像头驱动编写作者: Douglas Boling译: WinCE下被询问次数最多的驱动是USB摄像头驱动,其原由并不难理解。首先,每个人都喜欢看视频。插上摄像头并用它来捕获视频或静态图像,然后在本地欣赏或者将其发布到网络上,这是一件非常酷的事情。其次,有大量Wince下的驱动程序被公开,所以诚实的说,还是有很多种类的驱
2008-12-01 10:08:00
3339
1
原创 VC6.0下DirectShow开发环境配置
1 下载SDK:DirectX9.0b (要含有directshow的DirectX) 然后安装 2 编译 打开/Samples/C++/DirectShow/BaseClasses/baseclasses.dsp,degug编译得到Strmbasd.lib。release 编译得到strmbase.lib。 3 添加inlude和lib信息(Tools->Options->
2008-12-01 10:01:00
2614
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人