【WCE】实现永久性注册表数据保存 (VIACEPC BSP)

如何制作支持VMWare的Windows CE BSP 不知道有没有人试过在VMWare中跑过Windows CE。可能有人会问:在VMWare中跑Windows CE有什么意义?Windows CE不是有基于Vritual PC的emulator吗?要做干吗不做一个基于Microsoft自己的Virtual PC的?简单的答案是,VMWare支持一些Virtual PC(包括Windows CE emulator)不支持的硬件。对我来说,最吸 阅读详情

目标系统的硬件环境:
VIA CLE266 NorthBridge + VT8235 SouthBridge,Transcend TS32MDOM40V DOM
目标系统的软件环境:
Windows CE 5.0,VIA CLE266/CN400/CN700 CEPC BSP

Hive-based:

  • 将 Catalog/Device Drivers/Storage Devices/Storage Devices/ATAPI PCI/IDE Storage Block Driver/ATAPI PCI/IDE Storage Block Driver 加入 Workspace;
  • 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Storage Manager/FAT File System 加入 Workspace;
  • 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Registry Storage/Hive-based Registry 加入 Workspace;
  • 菜单 Platform->Settings,在“Platform Settings”对话框中选择“Environment”标签,通过设置环境变量:
    SET PRJ_ENABLE_FSREGHIVE = 1
    保证如下注册表键值即可:
    [HKEY_LOCAL_MACHINE/init/BootVars]
       "Flags"=dword:3
    [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile]
        "MountAsBootable"=dword:1
  • 然后,执行 Sysgen 即可。

RAM-based:

  • 将 Catalog/Device Drivers/Storage Devices/Storage Devices/ATAPI PCI/IDE Storage Block Driver/ATAPI PCI/IDE Storage Block Driver 加入 Workspace;
  • 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Storage Manager/FAT File System 加入 Workspace;
  • 将 Catalog/Core OS/Windows CE devices/File Systems and Data Store/Registry Storage/RAM-based Registry 加入 Workspace;
  • 将 Catalog/Third Party/BSPs/VIA CLE266/CN400/CN700 CEPC: x86/HDD Registry Save 加入 Workspace;
  • 然后,执行 Sysgen 即可。

Power-down flush:

Windows CE .Net 4.2 版的 VIACEPC BSP 提供了 SCIPWM 驱动程序用于处理 power-down flush。

  • 对于 hive-based 注册表:
    菜单 Platform->Settings,在“Platform Settings”对话框中选择“Environment”标签,通过设置环境变量:
    SET PRJ_ENABLE_REGFLUSH_THREAD = 1 
    即可实现 lazy-flush。
    故 SCIPWM 只用来处理例如按下电源按钮关机之类的 power-down 中断。
  • 对于 RAM-based 注册表:
    由于 VIA 的 HddRegSave 驱动程序使用的是 save-and-restore 方式,故 SCIPWM 是必须的。
    此外,还要修改 $(_WINCEROOT)/PUBLIC/SHELL/OAK/HPC/EXPLORER/TASKBAR/stmenu.cpp 中的 StartMenu_ProcessCommand 函数,使其在执行“挂起”时保存注册表数据。
case IDM_START_SUSPEND:
{
    DWORD dwType;
    DWORD dwLen;
    DWORD dwValue;
    DWORD lRet;

    dwValue 
= TRUE;    // Set default
    dwLen = sizeof(dwValue);
    lRet 
= RegQueryValueEx(HKEY_LOCAL_MACHINE, L"Suspend",
    (LPDWORD) L
"Explorer", &dwType,
    (LPBYTE) 
&dwValue, &dwLen);
    
if (dwValue)
    
{
        RegCopyFile(L"
//temp//wcereg");
        CopyFile(L"
//temp//wcereg", L"//IDE Flash//wcereg", FALSE);
        GwesPowerOffSystem();
    }

    
break;
}
记住密码代码 和腾讯QQ一样,可以记住密码,并且下次登录的时候,可以不用输入密码。 立即下载

相关推荐

使用Power Apps实现SharePoint Online列表的下拉菜单的级联选择

在SharePoint列表中添加数据的时候,下拉菜单的级联选择一直是一个非常实用的功能,尤其是有很多数据的情况,级联选择可以根据上一层的选择,自动过滤下一层的选择,方便用户查找和选择准确的信息。一个最常用的情景是选择供应商的地区和国家,例如有三个列表,一个是供应商所在的大洲,一个是国家,一个是供应商。当用户选择州的时候,会自动列出属于这个州的国家。避免用户迷失在大量的数据中。 这里展示一下如何在...

shrenk的专栏 7811

转帖]实现永久保存注册表数据(转自阿冰blog)

实现永久保存注册表数据(转自阿冰blog) 注册表类型分为基于对象存储的注册表和基于HIVE的注册表,在定制内核的时候只能选择其中一种。从理论上讲这两种注册表都能够实现永久保存注册表数据,但是采用不同的类型会影响CE的启动顺序和启动速度,还会影响内存的使用量。我还是趋向于采用基于HIVE的注册表来实现永久保存注册表数据,这也是一个发展趋势。在讲解之前先简单描述如果CE采用基于HIVE的注册表,那么

prothes 的专栏 635

C++游戏开发实战:从零构建局域网联机对战系统(附完整代码解析)

本文详细介绍了如何使用C++开发局域网联机对战游戏系统,涵盖从环境搭建到实战代码解析的全过程。重点讲解了Winsock库的应用、Socket通信原理、服务端与客户端开发技巧,以及性能优化和安全防护方案,帮助开发者快速掌握C++游戏开发的核心技术。

weixin_42524945的博客 445

浏览器无法保存密码,每次登录网页都要重新登录,解决办法

浏览器无法保存密码,每次登录网页都要重新登录,解决办法

baidu_41296073的博客 2612

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。

电脑修复君的博客 4533

Zemax 中的 LED 阵列模型

这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。

jkh920184196的博客 1595

浏览器被2345劫持 打开本地页面显示2345首页

如题:作为一个开发人员,浏览器被劫持是很令人烦恼的一件事,打开本地页面啥的,直接给我来个这个,老恼火了,可恶的2345 。 注:本文受一位资深老哥启发而创。 网上很多方法,大体都是借助第三方或者 改 重命名 浏览器等,我想说这样的方法治标不治本。还是承认他的存在。只不过在他串改你的浏览器之后,你又重新改造了一下。 方法:修改注册表 1.打开注册表 win键 + R 调出 运行 ...

黑_桃_K的博客 2362

(SCADA)监控与数据采集系统

SCADA应用于监控和采集数据来控制工业过程软件。它通过收集和传输实时数据,帮助操作员监视和控制各种设备和过程。

软件技术的专栏 4543

使用cookie完成一个记住密码的功能

吼吼吼,承接上一篇使用localStorage完成记住密码功能 一:分析问题 这里需要用到document.cookie来进行功能的实现 二:解决问题 同样还是我上一篇文章的html代码结构 js实现具体功能 要定义一个获取cookie的方法,一个设置cookie的方法和一个删除cookie的方法。通过调用方法实现刷新记住密码的功能。 三:代码实现 html: <!DOCTYPE html> <html lang="en"> <head> &lt

m0_50789201的博客 1106

西门子S7-1200PLC控制步进电机的组态编程和具体步骤

西门子S7-1200PLC控制步进电机的组态编程和具体步骤 硬件准备: 1) 一个S7-1214C DC/DC/DC,订货号:6ES7 214-1AG40-0XB0 2) 一个86系的步进电机+相应的驱动器 3) 一个20A的西门子24V电源(步进驱动器及plc电源) 4) Portal V15版本 组态及编程: 1) 创建一个验证项目,添加cpu( S7-1214C),双击“工艺对象”,选择“运动控制”的TO_PositioningAxis V6.0版本,如下图所示: 2) “确定”后,系统自动生成名

Robot_PLC_HMI_Automation 1万+

全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略

本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优

VectorShift的博客 1331

如何在WINCE4.2/WINCE5.0中“永久”保存设置(保存注册表的方法)

 分享一下我在WINCE5。0下做好保存设置的方法第(1)步,在当前Platform下加入Hive-based Registry的支持; 第(2)步,在注册表platform.reg中查找“; HIVE BOOT SECTION”,有两处,在第二处(原来是:IF BSP_NONANDFS !的地方),将; HIVE BOOT SECTION 和 ; END HIVE BOOT SECTION之间的

805

金三银四!风控建模岗面试题库大全:从理论到实战避坑指南

风控建模面试大全

阿黎逸阳的博客 767

Via浏览器APP v6.7.1.0 最新Via浏览器

Via浏览器是一款极致轻巧的安卓极简浏览器,体积仅几百KB却功能全面。采用WebView内核,具备广告拦截、隐私保护、脚本扩展等强大功能,支持主题定制、夜间模式、网页翻译等个性化设置。新版6.7.1优化了脚本安装、密码管理等功能,修复多项错误。该浏览器以纯净无广告、权限精简著称,不收集用户数据,提供云同步书签、网页资源嗅探等特色功能,是追求简洁高效用户的理想选择。

1332

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

另类方式来实现HIVE

我还是无法解决WINCE保存设置的问题,请高手赐教? 我已经使用的HIVE-BASED REGISTRY作为CE的保存选项了,打电话给研博,他们一会儿说要加一个组件,一会儿又说只要我付2000大圆,把解决方案提供给我,可怜我穷学生一个,哪来那么多钱啊? 还请高手指教!再次谢谢!

benjiamen的专栏 1万+

winCE下如何永久保存注册表信息

Wince4.2,关于Flash的永久保存注册表 先说原理:注册表类型分为基于对象存储的注册表和基于HIVE的注册表,在定制内核的时候只能选择其中一种。从理论上讲这两种注册表都能够实现永久保存注册表数据,但是采用不同的类型会影响CE的启动顺序和启动速度,还会影响内存的使用量。我还是趋向于采用基于HIVE的注册表来实现永久保存注册表数据,这也是一个发展趋势。在讲解之前

Silverlight/自动控制/嵌入式软件开发/linux方向软件交流 4465

VMCEPC BSP的一些更新说明

有人嘲笑说我又把博客写成了年记。真是惭愧,离上一次更新已经大半年过去了,2007年可能是我有史以来最忙碌的一年,项目的压力和生活的琐事让我根本没有心思来关心博客。现在总算可以说松了一口气,我想,我的博客也该更新了。有不少朋友写信给我询问VMWare BSP的一些问题,这里做一些回答:1,我提供的BSP是根据哪个BSP改的?是根据CEPC改的。要不然怎么叫VMCEPC。2,MS-DOS.vmdk这些

Sting的专栏 - Under the hood 3215

Hive-Based Registry的使用

 看到网上有好多关于Hive-Based Registry使用的文章与提问。自己做存储驱动应该也要关注一下吧。看了看PB的帮助文档,大概也对这部分有了一些粗浅的了解。 对于Hive干什么用这里就不多介绍了,根据文档的介绍,Hive形式的注册表分为:Boot hive,System hv和User hive三种。Boot hive就是指那部分在Boot过程中需要使用到的注册表信息,这部分是实在没

gsymichael的专栏 2270

修改注册表实现HIVE

基础知识:  Hive的机制就是把注册表放在磁盘里的保存,这样就可以做到掉电不丢失数据. 磁盘可以是SD卡或flash等设备. 但是这样我们会马上想到一个问题,加载这些磁盘的驱动也是要读注册表的,好像遇到了鸡生蛋,蛋生鸡的问题. 微软解决这个问题的方法是把注册表分为两部分,第一个叫做boot.hv注册表. 里面放加载保存到磁盘上那部分注册表之前要引导的一些设置,比如磁盘的驱动信息.  1.

menglongcaiying的专栏 3414

Platform builder 4.2 定制内核的一些资料(转载过来收)

1. 如何添加注册表用的是national geode 工程是internet appliance 1.在 "File Systems and Data Store" -- "Registry Storage"內,選擇 "Hive-based Registry" 2.在 "File Systems and Data Store" -- "Storage Manager"內,選擇 "FAT File

benjiamen的专栏 3591

win7 凭据管理 永久性-企业 和 永久性-登录会话

win7 凭据管理 ‘永久性:企业’ 和 ‘永久性:登录会话’ 在使用打印机共享或目录共享的时候,不管是添加windows凭据还是普通凭据,必须是 ‘永久性:企业’ 才可以永久保存密码 如果是 ‘永久性:登录会话’, 那么在 PC 重启后, 仍需要手动输入密码 怎样区分 ‘永久性:企业’ 和 ‘永久性:登录会话’? 在添加凭据的时候,如果是如下的格式,就是 ‘永久性:登录会话’ Internet地址或网络地址: \\192.168.1.100 用户名:\\PC-W10\administrator

冰箱 1万+

针对IE浏览器主页被2345劫持的问题

每次打开IE浏览器都先打开http://www.666888119.com/这个网页, 然后转到https://www.2345.com页面  非常的恼火。问了度娘:开始菜单-&gt;运行-&gt;regedit-&gt;确定,打开注册表编辑工具,按顺序依次打开:HKEY_LOCAL_USER\Software\Microsoft\Internet Explorer\Main 分支,找到Defau...

weixin_41784676的博客 3万+

C#实现在注册表中保存信息

最近做的项目需要在注册表中记录一些用户设置,方便在程序下次启动时读取设置,应用上次用户保存的设置,挺简单的。 写出来,方便记忆,以后要用,可以直接改改就能用。 1 using System; 2 3 namespace Backend 4 { 5 public class RegistryStorage 6 { 7 public ...

weixin_33721427的博客 121

【Windows】win7 凭据的永久性问题

windows凭据保存时 “永久性:企业”时就会保存,如果是“永久性:登陆会话”就不会保存。 注意:一个用户名为“计算机的账户”;一个用户名为“计算机名\计算机账户名”;永久性分别就是:“企业”或“登陆会话”了。 网上搜到的方法,经测试有效。并且对比了不同电脑,确实如此

乙醚的专栏 1万+
上一篇: 【WCE】Windows Shell 路径处理函数
下一篇: 【WCE】如何在 boot registry 下调整显示分辨率 (.Net 4.2)
keyssoft
博客等级 码龄25年 8粉丝 35原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值