
EVC4 编程
91program
编程,生活;走自己的路
展开
-
Win8.1 下安装 eVC++ 4.0
今天在Win8.1 下安装 eVC++ 4.0 时,遇到不能安装的问题。偶将 eVC++ 4.0 的安装文件放在 D:\Tools\eVC4 中,安装过程上报 D:\Tools\eVC4\evc\include\XXX.h 文件不存在。查看目录发现,确实是没有这个目录。但这个安装包,在 WinXP 和 Win7 中是可以安装的,没有缺少任何文件。查找所缺少的文件,发现在目录: D:\Tools\e原创 2014-11-13 17:23:24 · 2617 阅读 · 1 评论 -
EVC4.0编译错误:LNK2005
当使用EVC4.0(SP4)编译程序,出现如下类似错误时:uafxwced.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in coredll.lib(COREDLL.dll)可以采用以下方法解决:1. 打开Pro原创 2009-07-01 09:56:00 · 2139 阅读 · 0 评论 -
EVC内存检测(晕啊,为什么格式总是错误???编辑状态又是对的!)
将以下代码保存为.h文件,在待检测的应用中调用它。 /***************************************************************** 为了使用内存检测,需要在待检测代码中进行以下三步: 1. Define _DEBUG #define _DEBUG 2. Include "crtdbg.h" #include "crtdbg.h"原创 2009-04-02 11:17:00 · 1916 阅读 · 0 评论 -
EVC如何调试LIB
举例来说:写一个LIB,内有func(),func2(),func3()三个函数,声明在Lib.h中,一切完备后。再出成一个MainMenu.EXE文件,引用这个LIB的测试文件,如下所示: void main() { func(); func2(); func3(); } 加入你的那个LIB,编译。 成功后,原创 2009-03-24 14:44:00 · 2602 阅读 · 1 评论 -
EVC在双核PC上调试速度慢的原因
以前使用单核PC,EVC+SP4使用模拟器进行调试,速度还可以。但是当PC换成双核时,发现使用模拟器进行调试,速度还慢,让人无法接受! 记得以前在网上看到过此问题,是双核CPU引起的。所以:打开“任务管理器” -> 选择 模拟器的进程名点击右键,选择“关系设置”,只勾上一个CPU。 终止当前调试,重新开始。发现单步调试速度正常! 还有一种可能:改成KITL的连接方原创 2009-03-24 10:22:00 · 1876 阅读 · 0 评论 -
【SQL Server CE2.0】打开加密的数据库(源代码)
HRESULT hr;DBID TableName; // name of table for new constraintDBID ColumnList[1]; // name of column for new constraintDBID ConstraintName; // name of new constraintDBPROP dbprop[1];DBPROP ssce原创 2009-03-16 09:47:00 · 2370 阅读 · 2 评论 -
【SQL Server CE2.0】创建加密的数据库(源代码)
HRESULT hr = NOERROR; DBPROPSET dbpropset[2]; DBPROP dbprop[1]; // Property array to initialize the provider.DBPROP sscedbprop[2]; // Property array for SSCE security propertiesINT i = 0;IDBDataS原创 2009-03-16 09:44:00 · 2226 阅读 · 0 评论 -
SQL Server CE开发环境建立过程
使用EVC4创建基于对话框的工程,增加一按键并在其响应中Copy sqlce.chm中Creating Databases部分代码进行测试。记录过程如下: 1) error C2065: DBPROPSET : undeclared identifier 等79个编译错误 解决方法:在StdAfx.h中增加以下几个头文件 :#include #include原创 2009-03-07 10:37:00 · 3670 阅读 · 1 评论 -
在Win CE程序开发中使用软件输入面板
软件输入面板(Software Input Panel,简称SIP)是每个装备了WinCE系统的移动平台的一个基本功能。它提供给用户在PDA上进行数据输入的一种手段。当谈及SIP的时候,我们一般会想到两点:一是SIP本身,二是如何在程序中使用SIP。 SIP是一个实现了IInputMethod或者IInputMethod2接口的COM对象。它应该被系统调入使用,所以你不能在C#中进行SIP原创 2008-12-03 22:38:00 · 2159 阅读 · 0 评论 -
输入法编程
最近打算研究一下CE下的输入法,找到了李振春先生写的自由拼音来学习。在学习之前,先学习一下PC上输入法有基础知识。 一般汉字输入法都由三个窗口组成:状态窗口(Status Windows):显示当前的输入法状态;编码输入窗口(Composition Windows):显示当前击键情况;汉字选择窗口(Candidates Windows):列出当前编码的全部汉字(串),供用户选择或查询原创 2009-01-08 17:14:00 · 8762 阅读 · 15 评论 -
自由拼音输入法的测试
李振春先生写的自由拼音可以从下面的网址下载:项目主页 http://gforge.osdn.net.cn/projects/freepyce可以用:svn checkout http://gforge.osdn.net.cn/svn/freepyce 获得最新的源码。 编程源代码后,生成DLL文件:freepy.dll。复制它和library目录的freepy.tab和freepys原创 2009-01-08 17:29:00 · 5095 阅读 · 6 评论 -
if语句的一个现象
如果if语句的判断式中有逗号,例如:if(a== b,c ==d),EVC的编译器会报错吗? 在今天的编程中,就出现了这样一句:...else if(3 == GetWinStatus(),GetWinStatus()) //在日期设置窗口, 则返回主窗体{ SetWinStatus(0,GetWinStatus());} 编译器竟然没有报错,更奇怪的是功能一些正常。原创 2008-11-14 15:00:00 · 1574 阅读 · 2 评论 -
EVC /PB /WinCE开发问题
1. 在ce自制平台中如何添加自己的驱动?cec文件和reg,bib文件有何区别?看混了,不知道如何才能让驱动注册到平台中。另外,reg和bib是我在编写驱动必须要自己写的么 CE 的驱动分为本机驱动和流驱动,本机驱动你可以修改源码(在%_WINCEROOT%/PUBLIC/COMMON/OAK/DRIVERS),然后 build驱动源码,之后用PB编译内核。流驱动是以DLL的形式被系转载 2009-07-04 10:49:00 · 3451 阅读 · 1 评论 -
显示驱动相关 -- DrvEscape和ExtEscape
DrvEscape是提供给应用程序的一个直接访问显示驱动的接口/机制,它类似流接口的IOCTLs方式的,完成标准GDI无法完成一些功能.上层应用程序调用ExtEscape()发送查询,设置等控制命令给显示(打印)驱动.这些命令字叫做escape code.系统已经定义的escape code有如下: QUERYESCSUPPORT 8 查询显示驱动是否原创 2009-12-03 14:39:00 · 2615 阅读 · 0 评论 -
EVC编程点滴-WM_TIMER冲突处理与精度
关于WM_TIMER有两点将会在此文章中说明:(1) WM_TIMER响应冲突(2) 时间的精确性(1) WM_TIMER响应冲突:即多个WM_TIMER同时到达时的处理首先,WM_TIMER这个消息的优先级很级,类似的还有WM_PAINT消息。只有在消息队列里面没有其他消息的时候,才会执行这两个消息。以下是EVC4帮助中的原话:The WM_TIMER message is a low-原创 2007-12-06 14:29:00 · 3773 阅读 · 1 评论 -
驱动程序如何发通知给应用程序
这里介绍一下常见的两种办法。 1、驱动程序调用API SendNotifyMessage,发送特定的消息给应用程序,这就要求应用程序要有消息循环机制并且要事先做好消息的处理。参数 1为窗口句柄,可以设置HWND_BROADCAST表示广播消息。要注意的是不要在参数中传递指针(虚拟地址),因为执行驱动程序的线程和应用程序并不在同一个进程空间中。解决办法可以利用内存映射文件技术,比如在驱动程序中原创 2008-06-12 14:09:00 · 4316 阅读 · 0 评论 -
WinCE 下实现 ping 功能
需要包括的头文件与库文件:#include "Winsock2.h"// PING#include "Ipexport.h"#include "Icmpapi.h"#include "winsock.h"extern HWND ghMainWnd;#pragma comment (lib, "Iphlpapi.lib") #pragma comment (lib, "Ws2.原创 2014-02-21 11:23:38 · 4945 阅读 · 0 评论 -
Windows CE 下的 TCP 服务器端类
与上一个帖子对应,可以互相通讯。头文件:// TCPCustom_CE.h: interface for the CTCPCustom_CE class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_TCPCUSTOM_CE_H__0E8B4A18原创 2012-07-20 12:04:07 · 2656 阅读 · 0 评论 -
Windows CE 下的 TCP 客户端类
以前一直在使用 UDP 与服务器进行通讯,这次一个新的项目需要采用 TCP 来实现与服务器的通讯。先写了一个 TCP 客户端的类,同时也做了一个服务器用于测试。先把客户端的 TCP 类代码分分享出来吧。头文件:// CeTcpClient.h: interface for the CCeTcpClient class.//////////////////////////原创 2012-07-13 17:57:56 · 2707 阅读 · 0 评论 -
LINK 错误:LINK : fatal error LNK1104: cannot open file 'uafxwce.lib' 的解决办法
EVC 工程在迁移到 VS2008 时遇到以下错误:1>LINK : fatal error LNK1104: cannot open file 'uafxwce.lib'EVC 工程使用的是 CE5.0 的 SDK。VS2008 工程使用的是 CE6.0 的SDK。分析:(1) 查看 VS2008 工程的属性(Properties),其中未发现对 uafxwce.lib 的调原创 2012-04-06 18:38:49 · 5214 阅读 · 0 评论 -
DATA abort定位方法
DATA abort定位方法原创 2011-05-05 08:49:00 · 12418 阅读 · 1 评论 -
prefetch abort
prefetch abort原创 2011-04-30 12:57:00 · 14601 阅读 · 1 评论 -
在wince下如何禁止移动窗体
wince 禁止 移动窗体原创 2011-05-26 20:24:00 · 2901 阅读 · 2 评论 -
WinCE5.0下直接写屏操作与函数 CreateDIBSection() 的使用
这段时间在研究直接写屏的方法.此问题的起因是: 在 iMX31(WinCE 5.0)上, 屏的分辨为: 800*480. 调用 BitBlt() API 函数画一整屏的动作, 竟然需要 120ms 左右; 同样的程序, 在 Prima 上只需要 20ms 以内的时间. 直接写屏, 需要用到以下两个主要的函数: CreateDC(TEXT("DISPLAY"),......) 和 Cre原创 2010-01-06 16:39:00 · 4874 阅读 · 2 评论 -
EVC4不能调试Freescale MX31(ARM113)的解决方法
使用EVC4编程,通过ActiveSync与开发板(CPU:Freescale MX31)连接。连接正常,EVC编译程序后,也可以将生成的可执行文件自动下载到开发板中。但是点击调试按键后,提示:Debugger Swap ErroreVC cannot locate a debugger able to debug the attached device. The debugging se原创 2009-12-11 13:11:00 · 2390 阅读 · 2 评论 -
winhand.cpp Line XX错误
今天调试一个以前的程序,以前没有问题。修改了窗体的基类,在绘制窗体开始处调用了基类的Draw()函数。但程序长时间运行,会产生winhand.cpp Line XX错误。 在网上查找说可能是因为调用 DeleteDC()引起的。建议用ReleaseDC()代替 DeleteDC(),修改后开始测试,等待结果... //////////////////发生错误的一种可能的原因:原创 2008-11-18 13:15:00 · 3427 阅读 · 5 评论 -
两个问题的调试过程
最近比较忙,一些编程方面的东东,也来不及更新上来。 所以先Mark一下具体的问题,以方便以后写东东。 1) .C文件调用.Cpp文件时,函数的声明。 在声明正确后,调用时发现:编译器不对函数的参数类型进行匹配,也就是说类型不一致时,编译器不会报错。 具体的:本来函数需要一个RECT型的指针,我将RECT传入,结果没有报错。当然功能无法实现,最后单步调试发现此问题。原创 2008-11-12 18:57:00 · 1916 阅读 · 0 评论 -
RAPI编程之CeCopyFile的用法
CeCopyFile 在MSDN上的说明及原型如下:CeCopyFile is a remote application programming interface (RAPI), which enables an application running on a desktop computer to make function calls on a Windows CE–based de原创 2008-10-29 15:01:00 · 3983 阅读 · 5 评论 -
EVC编程点滴四 - 钩子
wince下支持三种钩子:1.#define WH_JOURNALRECORD 0使应用程序可以监视输入事件。典型地,应用程序使用该HOOK记录鼠标、键盘输入事件以供以后回放。该HOOK是全局HOOK,并且不能在指定线程中使用。2.#define WH_JOURNALPLAYBACK 1使应用程序可以向系统消息队列中插入消息。该HOOK可以回放以前由WH_JOURNALRECORD HOO原创 2007-12-23 12:41:00 · 7595 阅读 · 6 评论 -
TCPMP的ARM编译器问题
我在搞TCPMP,但找不到编译TCPMP的ARM编译器?(优快云成员chNeed1的回复):不知道你的platform builder 有没有装上arm的呢。如果装了,可以先打个标准的包,再导出SDK,VS2005可以以该SDK为标准,为你重新编译TCPMP 我说的platform builder当然是5.0了,就是用来定制Ce系统的工具,好像没有6.0吧,我现在一直是用5.0,因为6.0的原创 2008-03-14 14:10:00 · 3361 阅读 · 23 评论 -
开发调试基于WinCE下的ActiveX控件的基本步骤
在WinCE下开发ActiveX控件会遇到很多障碍,如,可能编译成功,并且成功download到目标机上,但无法注册;想写一个应用程序来调试该控件,可是打开EVC创建完工程,想插入ActiveX控件的时候,控件列表里根本就是空的。前提是EVC能够连接到目标机上。一,用EVC4.0开发一个ActiveX控件1,打开EVC4.0,新建项目,选择WCE ATL COM AppWizard。项目名假设为D转载 2007-12-21 08:56:00 · 1966 阅读 · 0 评论 -
建立针对WinCE的GCC-ARM交叉编译环境
开源社区提供了大量价值极高的代码,这些代码大部分是基于GNU C Compiler编译器的,学好GCC对我们学习使用开源代码有重要的作用。GCC是跨平台的优秀编译器,代码效率也比比较高。很多时候我们需要在项目中使用开源代码,但是将GCC的工程移植到Win32 NT还可以使用MinGW,如果要移植到WinCE下却比较麻烦,不仅是基础库的差异,GCC的内联汇编使用AT&T的汇编格式,一般程序员都很陌生转载 2008-03-03 16:32:00 · 4410 阅读 · 2 评论 -
一个简单的libmad包装类
近来要把WinCE.Net平台的的程序移植到Pocket PC上,出现了一点小麻烦。原有工程中有个DirectShow的封装类,用来播放MP3格式的音频,而Pocket PC 2003不支持DirectShow,为了和老系统兼容看来要改一下这段代码。首先就排除了WMPlayer控件,太耗资源(DirectShow也一样)。libmad是跨平台的MPEG音频解码库,使用整数运算来模拟浮点运算,实为嵌转载 2008-03-03 16:30:00 · 6028 阅读 · 0 评论 -
水煮TCPMP
去年年底帮别人做一个项目,了解了一下TCPMP,觉得这个软件的结构写得很好就做了些记录,今天偶然翻出来看看觉得可能对正在研究这个软件的人有点帮助就贴出来。如果转载请注明出处,谢谢。TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。TCPMP的插件非常多,、libmad我们联合几个最常用的插件(ffmpeg、splitter)来转载 2008-03-03 16:29:00 · 1978 阅读 · 0 评论 -
EVC4 自制SDK与VS2005 冲突
在自己的机器上安装EVC后,没有安装EVC自带的SDK(模拟器),而是安装使用Platform Builder 5.0自定义的SDK(模拟器)。 安装后EVC使用正常,所安装的SDK(模拟器)也可以使用。 但是,后来在使用VS2005打开一个VS2005(C#)的工程时,VS2005出错错误。错误的提示与EVC4自定义的SDK(模拟器)相关,提示中有自定义SDK的名称。再试着使用建立一个原创 2008-02-28 13:54:00 · 2319 阅读 · 1 评论 -
EVC编程点滴(概述)-注册表操作类
我辞职前,在公司负责在Windows CE系统上,通过串口控制GSM模块,实现一般手机的功能。即通话、SMS、通话记录、电话本(SIM和手机上);还有设置部分,如一般手机上的;然后就是多媒体部分,如Camera拍照、录音、图片浏览与一些基本操作;最后就是一些小的工具,如手机号码归属地查询、秒表、备忘录等。还有就是Windows CE系统定制,如前述文章所描述的那样。其实编程都是很细节的问题,一原创 2007-12-05 15:01:00 · 4360 阅读 · 9 评论 -
EVC编程点滴-GIF动画显示类
此功能在我这个项目中,主要是显示让用户等待的提示。如开机过程、待机界面调用一个系统应用的过程、还有就是操作大尺寸图片的过程。刚开始是用自定义的一个窗体来提示用户的,功能也可以实现,但美观度不够。所以才花了一定时间,对网上这个类进行研究。最终成功应用于项目中。这个类的实现,主要是参考网上一个名为CGif89a类的实现。此类在EVC4工程中可以正常使用。索引:1) GIF显示类头文件2) GI原创 2007-12-06 12:50:00 · 6330 阅读 · 52 评论 -
LINK : fatal error LNK1104: cannot open file 'mfcs42d.lib'
今天在自己的机器上安装EVC后,建立MFC工程,编译出现错误 :LINK : fatal error LNK1104: cannot open file mfcs42d.lib或INK : fatal error LNK1104: cannot open file mfcs42.lib解决方法:找到 mfcs42d.lib 或 mfcs42.lib所在的原创 2008-02-24 22:44:00 · 6389 阅读 · 1 评论 -
窗口类释放问题
写了一个带窗体的DLL,在DLL初始化时调用:if((one = FindWindow(SIPSELECT_CLSNAME, NULL)) != NULL){ SetForegroundWindow(one); RETAILMSG(1,(TEXT("Lib - Init open 1/r/n"))); return ;}但是在第二次加载DLL失败,当然以后都会失败的。设计发原创 2007-11-28 09:45:00 · 2370 阅读 · 0 评论 -
CE 下的SetWindowRgn
2009-01-22 修改不知道为什么,这篇文章的内容丢了。而且我没有办法回复,只能进行内容的修改,无奈......我没有保存这篇文章的内容,只能以后找到相关的东东补啦!原创 2008-04-09 11:15:00 · 1784 阅读 · 1 评论