中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

微软嵌入式

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 微软嵌入式 → 浏览主题: WinCE驱动开发问题精华集锦二(转帖)
发表新帖 回复该主题
回帖:0个,阅读:1030 [上一页] [1] [下一页]
* 帖子主题:

WinCE驱动开发问题精华集锦二(转帖)

分享到
1322
hack_cai
文章数:78
年度积分:50
历史总积分:1322
注册时间:2009/11/30
发站内信
发表于:2010/4/13 16:23:16
#0楼
在WINCE中如何只能启动应用程序的一个实例?  
常用的两种办法:  
1、如果应用程序实例创建了窗口,可通过API FindWindow函数通过窗口类名和窗口标题名称来查找,前提是系统内不会出现窗口名称重复的情况。  
2、应用程序初始化的时候创建一个事件或互斥等内核对象,因为内核对象是由内核创建,名称在系统内唯一。  
 
能不能自己编辑一个数字签名文件导入到手机上,这样就可以用这个签名签自己的程序了?  
WINCE的内核签名机制的用途是限制非法的可执行模块EXE、DLL等在设备上运行。要求内核的加载模块用公钥验证请求加载的EXE、DLL的签名是否合法,而这个公钥是在定制内核的时候加进去的,所以除内核的定制者以外的人无法修改这个验证机制。  
 
我按照版主的文章《加密WINCE系统》里操作,提示错误如下:  
Error 80090016 during CryptSignHash 1!  
Error signing hash  
这是因为传递了无效的钥容器名称,使CryptoAPI调用失败。应该在使用signfile工具之前创建一个钥容器,在桌面Windows中调用API CryptAcquireContext创建一个指定名称的钥容器,接着再创建一个签名密钥对,这时再使用signfile工具就可以了。我在文章里写成-kfulinlin是因为我创建钥容器的时候没有指定名称,系统就采用当前登录的用户名为容器名。  
 
编译错误:CVTRES : fatal error CVT1102: out of memory; 42 bytes required ?  
多数情况下出现这种错误是因EVC的bug而起,应该在安装EVC之后就立刻安装EVC的SP补丁。另外为了避开BUG,使用EVC编程应该养成一些习惯,比如定期备份工程所有文件,每次编译时采用Clean + Rebuild All,正调试时不要关闭模拟器等等。  
 
在WINCE下是否能够得到某一进程使用的物理内存总量?  
目前没发现有这样一个API能够得到指定进程使用的物理内存总量。只有GlobalMemoryStatus能够得到整个系统使用的物理内存总量。  
 
应用程序如何控制lcd的亮度?如何获得电池的电量?  
从常见的平台如Geode、三星ARM系列来看,的确在驱动方面没有统一的控制LCD或者其它种类屏幕亮度的接口函数,所以只能根据具体平台提供的接口来做。从帮助文档来看微软的带有DirectDraw功能的显示驱动程序的确有标准的增加亮度的接口函数,关于背景光参见标题为“Enabling a Backlight”的帮助文档。  
获得电池电量有标准的接口函数GetSystemPowerStatusEx,前提是驱动程序和硬件都要支持。  
 
WINCE的socket函数好像不支持发送/接收超时?  
是的,最早版本的WINCE支持选项SO_RCVTIMEO、SO_SNDTIMEO,后来却不支持了。  
 
WINCE下如何设置窗口最大化和最小化?  
WINCE的帮助文档在介绍API ShowWindow函数的参数时指出SW_MAXIMIZE, SW_MINIMIZE, SW_RESTORE, SW_SHOWDEFAULT, SW_SHOWMAXIMIZED, SW_SHOWMINIMIZED, SW_SHOWMINNOACTIVE都不被支持,但实际上并不完全是这样,具体来说:  
SW_MAXIMIZE            比原来窗口大,但不是最大化  
SW_MINIMIZE             编译成功,但是不起作用  
SW_SHOWMAXIMIZED     最大化  
SW_SHOWMINIMIZED      编译出错  
SW_RESTORE              能恢复  
SW_SHOWDEFAULT        编译出错  
SW_SHOWMINNOACTIVE   编译出错  
SW_HIDE                  能够隐藏  
 
如何用程序调用控制面板的触摸屏校对程序?  
两种办法:  
1、调用API TouchCalibrate函数  
2、调用CreateProcess,参数1为L"\\windows\\ctlpnl.exe",参数2为L"cplmain.cpl,9"。  
 
如何获得U盘或者其它类型的存储器总容量和剩余可用容量?  
调用API GetStoreInfo得到扇区数、每扇区字节数,相乘即是总容量。调用API GetDiskFreeSpaceEx得到剩余可用容量。  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/91program/archive/2008/05/08/2415012.aspx
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002