WinCE下开发程序常见问题(非常实…
来源:互联网 发布:javascript 认证 编辑:程序博客网 时间:2024/06/03 20:12
一. wince中,如何根据进程名称获得该进程ID
DWORD GetProcessID(CString name)
{
}
加载toolhelp.dll和link里面写入toolhelp.lib,包含头文件<tlhelp32.h>
二.关闭进程
1.打开explorer.exe,有以下2种方法
五.启动微软输入法啊
//#include <Sipapi.h>
void
{
void
{
}
1.
int SipEnumIM( IMENUMPROC pEnumIMProc);
int SipEnumIMProc( IMENUMINFO *pIMInfo);struct_IMENUMINFO{
TCHAR szName[MAX_PATH];
CLSID clsid;
}IMENUMINFO;
2.
BOOL SipSetCurrentIM(CLSID *pClsid);
六.WinCE中添加微软拼音输入法 MSPY3
1.添加相应组件
GB18030 DataConverter
MSPY 3.0 for WindowsCE
·
Double Spelling (Shuang Pin) soft keyboard -Large
Double Spelling (Shuang Pin) soft keyboard -Small
MSPY 3.0 for Windows CE Database (Choose 1)
·
1.1 MB - MinimalDatabase
1.3 MB - CompactDatabase
1.7 MB - StandardDatabase
2.注册表
在Platform.reg 中加入
; Simplified Chinese Intelligent IME (MSPY3)
[HKEY_CURRENT_USER/Keyboard Layout/Preload/1]
3.重新编译后即加入微软简体中文输入法3.0 MSPY3
七.字符型转换成整型
八.移动系统软键盘位置
三.显示关闭任务栏
1.显示
void ShowTaskBar()
{
HWND hwnd = ::FindWindow(_T("HHTaskBar"), NULL);
::ShowWindow(hwnd, SW_SHOW);
}
2.隐藏任务栏
void HideTaskBar()
{
HWND hwnd = ::FindWindow(_T("HHTaskBar"), NULL);
::ShowWindow(hwnd, SW_HIDE);
}
四.打开和关闭资源浏览器explorer.exe
十.让程序在Windows CE系统启动时自动运行
1. 假定Windows CE.NET目标工程目录为E:/ SMDK2440,并且工程已经Build成功,
假定Windows CE.NET的应用程序为MyApp.exe并存放在本地硬盘 E 盘下;
2. 修改MyWinCE工程的project.bib文件,在MODULES添加如下内容:
MyApp.exe
3. 创建快捷方式文件MyApp.lnk,文件内容如下:
10#/Windows/MyApp.exe
MyApp.lnk文件也放入E:/目录下;
4. 修改MyWinCE工程的project.bib文件,在FILES 添加如下内容:
MyApp.lnk E:/MyApp.lnk
5. 修改MyWinCE工程的project.dat文件,添加如下内容:
Directory("/Windows/Startup"):-File("MyApp.lnk","/Windows/MyApp.lnk")
8. Platform Builder IDE:【Build】->【MakeImage】(记得千万不要Build或者Rebuild)
9.成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。
采用这种方法的前提是你要启动的应用程序已经编译进了NK.nb0或者NK.bin中了。具体方法及说明如下:
platform.reg或者common.reg,在[HKEY_LOCAL_MACHINE/init]段添加如下类似内容:
来看两个系统的例子:
[HKEY_LOCAL_MACHINE/init]
; @CESYSGEN IF CE_MODULES_SHELL
; @CESYSGEN ENDIF
IF IMGTINY !
; @CESYSGEN IF CE_MODULES_DEVICE
; @CESYSGEN ENDIF
; @CESYSGEN IF CE_MODULES_GWES
IF NOGUI !
ENDIF
Launch10、Launch20、Launch30表示了系统在启动时会先加载“shell.exe”,然后再加载“device.exe”和”gwes.exe”,而且可以看到”gwes.exe”的启动还有依赖“device.exe”,即只有在“device.exe”完全启动后“gwes.exe”才能启动。如果我们要在系统启动时候也启动自己的程序可以像如下设置:
修改完后只要 PlatformBuilder
③ 去掉系统启动 explorer项
WindowsCE.NET的桌面确实漂亮,但是如果我们的嵌入式系统使用微软的桌面,总让我感觉不伦不类。因此,要想个办法,让我们的程序开机启动,把微软的那个桌面给替换掉。其中使用startup的快捷方式再加上隐藏任务栏的方法,效果非常的好,但是每次启动的时候,总是微软的桌面先出来,再启动我们的程序,感觉还是不爽。
有一种方法如下:
1) 首先新建工程,把你的应用程序放到内核里面去(前面介绍了如何做);
2) 编译平台;
3)修改E:/SMDK2440/RelDir/SAMSUNG_SMDK2440_ARMV4IRelease/shell.reg的文件:
在文件中有这样一行:
[HKEY_LOCAL_MACHINE/init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
把这个explorer.exe改成你的应用程序(比如:MyApp.exe)就可以了;
4) Platform Builder IDE:【Build】->【MakeImage】(记得千万不要Build或者Rebuild)否则就前功尽弃了。
5)成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。
至此,随心所欲的让自己的程序在Windows CE系统启动时自动运行了。
1.将自定义的文件打包进NK.bin中的方法有两种
在FILES
表示将你所建工程如:E:/SMDK2440/RelDir/SAMSUNG_SMDK2440_ARMV4IRelease目录下的文件MyApp.exe文件打包进NK.bin,并且此文件将处在Kernel内存区,文件属性类型为隐藏。
第二种方法是添加User
PlatformBuilder
无论采用哪种打包方法,在启动的Windows
2.组织文件系统的目录结构的途径在于修改project.dat文件
添加文件目录结构的描述。描述的语法如下:
root:-Directory("<目录名>")
Directory("/<目录名>"):-Directory("<子目录名>")
Directory("/("<目录名>/<子目录名>"):-File("<文件名>.<扩展名>","/Windows/<文件名>.<扩展名>")
3.应用程序并不一定需要打包进NK.bin
十一. freepCE--移植的winCE下的中文输入法源代码http://blog.csdn.net/backstrokefish/archive/2006/11/04/1365873.aspx
一.下载地址:
1.项目主页
可以用:svn checkout http://gforge.osdn.net.cn/svn/freepyce获得最新的源码。
2.驱动开发网 http://bbs.driverdevelop.com/htm_data/48/0610/118681.html
二 安装及调试说明
1.用ActiveSync连接系统嵌入式板。
用Remote Register Editor连接系统嵌入式板的注册表:
找到HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Layouts/e0010804修改,把ImeFile键值从chsime03.dll改为freepy.dll。
2.拷贝library目录下的词库文件freepy.tab,freepysys.dic到嵌入式板/Windows目录下
3.用EVC下载工程到嵌入式板/Windows目录下,设置断点可以调试。
十二.CEdit编辑框中输入中文不弹出中文输入面板
设置CEdit的属性Multiline。
关闭explorer.exe浏览器软件。
十三. WinCE设备盘符的修改
HKEY_LOCAL_MACHINE/System/StorageManager/Profiles
十四.Sysgen出错
wzctool.lib(wzctool.obj) : error LNK2019: unresolved externalsymbol _WZCDeleteIntfObjEx referenced in function "void __cdeclDoQueryCache(unsigned short *)" (?DoQueryCache@@YAXPAG@Z)
wzctool.lib(wzctool.obj) : error LNK2019: unresolved externalsymbol _WZCQueryInterfaceEx referenced in function "void __cdeclDoQueryCache(unsigned short *)" (?DoQueryCache@@YAXPAG@Z)
wzctool.lib(wzctool.obj) : error LNK2019: unresolved externalsymbol _WZCSetInterfaceEx referenced in function "void __cdeclAddToPreferredNetworkLis
wzctool.lib(wzctool.obj) : error LNK2019: unresolved externalsymbol _WZCRefreshInterfaceEx referenced in function "void __cdeclDoRefreshWzc(int,unsigned short * * const)" (?DoRefreshWzc@@YAXHQAPAG@Z)
C:/WINCE500/PBWorkspaces/cn_simu/WINCE500/Emulator_x86/cesysgen/oak/target/x86/retail/wzctool.exe: fatal error LNK1120: 4 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: 'C:/WINCE500/sdk/bin/i386/nmake.exe' :return code '0x2'
Stop.
去掉Wireless的组件即可。
十五、Makeimg Error with E32 type Images
把编译出错的文件从project.bib的MODULES段移到FILES段即可解决该问题。
FILES
;
;
十六、去除explorer界面WINCE LOGO下有行WINCE版本信息
修改如下:
在文件C:/WINCE500/PUBLIC/SHELL/OAK/HPC/CESHELL/UI/desktopview.cpp中屏蔽以下这些代码
十七、PB5.0试用期过期的破解方法
"在PB安装目录下有个C:/Program Files/Windows CE PlatformBuilder/5.00/etkremov.inf,试用期是以此文件的创建日期来计算的。将其删除,然后在其他目录新建一个文件,再重命名为etkremov.inf,再拷贝过来,不要直接新建这个文件,否则由于filesystemtunnel,会导致新建的文件总是沿用老文件的创建时间。
十八、“无法显示microsoft文档资源管理器,因为指定的帮助集合“ms-help://ms.msdnqtr.v90.chs”无效”
不是因为msdn出现问题,而是因为系统关于帮助文件.chm文件出现错误,windows中打开chm文件的程序是”hh.exe“,但是负责建立帮助文件全文检索的是以下几个组件,只要重新注册这几个组件,就可以使用msdn了。其他的一切关于注册表的说法都不管用。解决方法:在开始菜单-->运行里运行:
regsvr32
regsvr32
regsvr32
十九、VS2005编译动态库失败,去掉预处理器定义宏_USRDLL即可
1>mfcs80u.lib(dllmodul.obj) : error LNK2005:_DllMain 已经在Keyboard.obj 中定义
1>mfcs80u.lib(oleexp.obj) : error LNK2005:_DllGetClassObject 已经在Keyboard.obj 中定义
1>
- WinCE下开发程序常见问题(非常实…
- WinCE下开发程序常见问题
- WinCE下开发程序常见问题
- WinCE下开发程序常见问题
- WinCE下开发程序常见问题 .
- WinCE下开发程序常见问题
- wince下bluetooth程序开发的概述
- Mac/iOS下开发程序常见问题
- WinCE应用程序开发常见问题解答
- WinCE开发How to大集合之 WinCE下读写串口非常简单好用的例程
- WinCE程序开发-1
- vs开发wince程序
- 微信小程序开发常见问题
- 常见问题 之 win32平台下用C开发Socket程序
- wince常见问题
- wince 常见问题
- WinCE嵌入式开发程序入门
- WinCE嵌入式开发程序入门
- WINCE下 MULTIBIN+BINFS文件系统 N…
- 函数参数的传递
- ROM-Only File System定制详解
- SVN更新项目报Subversion Native Library Not Available,解决办法
- CTL_CODE 定义说明
- WinCE下开发程序常见问题(非常实…
- 小小的太阳
- 快速应用一款新MCU的方法总结
- wince——配置文件
- Windows CE下流驱动的动态加载
- No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instanc
- 如何把如何给flash 分两个FAT区域
- YUV 与RGB之间的变换
- 2016.09.03 YLOI 结题报告