-
wince 修改dns_如何修改wince的网络配置
2021-02-11 16:05:00如何修改wince的网络配置呢?首先,必须知道网卡驱动名字。在s3c2410上,名字叫“CS8900”,用工具连接上wince查看他的注册表。你将可以得到下面的东西。[HKEY_LOCAL_MACHINE/Comm/CS8900]"DisplayName"="CS8900"...如何修改wince的网络配置呢?
首先,必须知道网卡驱动名字。在s3c2410上,名字叫“CS8900”,用工具连接上wince查看他的注册表。你将可以得到下面的东西。
[HKEY_LOCAL_MACHINE/Comm/CS8900]
"DisplayName"="CS8900"
"Group"="NDIS"
"ImagePath"="CS8900.dll"
[HKEY_LOCAL_MACHINE/Comm/CS8900/Linkage]
"Route"=hex(7):/
43,53,38,39,30,30,31,00,00,00,00
上面的hex值其实是:CS89001,同样可以在[HKEY_LOCAL_MACHINE/Comm/CS8900]项下面看到关于CS89001的表述。
[HKEY_LOCAL_MACHINE/Comm/CS89001]
"DisplayName"="CS8900"
"Group"="NDIS"
"ImagePath"="CS8900.dll"
[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms]
"BusNumber"=dword:00000000
"BusType"=dword:00000000
"InterruptNumber"=dword:0000000a
"Sysintr"=dword:0000001a
"DuplexMode"=dword:00000001
"IoBaseAddress"=dword:a7000300
"Transceiver"=dword:00000003
"CardType"=dword:00000001
[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms/TcpIp]
"IpAddress"="192.168.1.109"
"EnableDHCP"=dword:00000000
"LeaseObtainedLow"=dword:6a806780
"AutoInterval"=dword:0000012c
"AutoMask"="255.255.0.0"
"AutoSubnet"="169.254.0.0"
"AutoIP"="0.0.0.0"
"AutoSeed"=dword:00000000
"PrevReqOptions"=hex:/
07,01,03,06,0f,2c,2e,2f
"T2"=dword:000bae0a
"T1"=dword:0006ac98
"Lease"=dword:000d5930
"LeaseObtainedHigh"=dword:01c84915
"DhcpDNS"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"DhcpDefaultGateway"="0.0.0.0"
"DhcpServer"="192.168.1.8"
"DhcpSubnetMask"="255.255.255.0"
"DhcpIPAddress"="192.168.1.63"
"AutoCfg"=dword:00000001
"DefaultGateway"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"DNS"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,31,00,00,00,00
"Subnetmask"=hex(7):/
32,35,35,2e,32,35,35,2e,32,35,35,2e,30,00,00,00,00
"LLInterface"=""
"UseZeroBroadcast"=dword:00000000
内容很多,但是我们一般关心的就只有[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms/TcpIp]下的几个。
"EnableDHCP"=dword:0
"DefaultGateway"="192.168.1.1"
"IpAddress"="192.168.1.100"
"Subnetmask"="255.255.255.0"
"DNS"="192.168.1.1"
"DefaultGateway"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"EnableDHCP"--控制DHCP,如果把他的值改为1,那么系统将用DHCP分配IP,设置的IP等信息是没有效果的。也就是自动获取。
如果"EnableDHCP"为0,那么可以通过"IpAddress","Subnetmask","DefaultGateway"等设置网络信息。其他信息如果有需要自己修改。
至于修改注册表的编程也不是难事,在wince中有函数可以帮助你完成这件事情。
RegCreateKeyEx
RegQueryValueEx
RegSetValueEx
RegCloseKey
其中RegSetValueEx函数可以通过不同的宏写如不同类型的值,比如:
REG_SZ
REG_BINARY
REG_DWORD
还有更多的,具体看winnt.h头文件。
已于读取我想就不用说了,自己看看evc的帮助吧。
DHCP自动获取IP的具体信息相信你也从上面的注册表信息看到了,需要就读取一下。
PS:注册表操作还有其他函数,根据自己情况用吧。
面先贴出我的代码
WCHARName[]=_T("CS89001/0");
HANDLEm_hFileHandle = CreateFile(_T("NDS0:"), 0, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE);
if( m_hFileHandle == INVALID_HANDLE_VALUE )
{
//获得网卡名时打开设备错误
return;
}
//重启网络驱动
DeviceIoControl( m_hFileHandle, IOCTL_NDIS_REBIND_ADAPTER, Name,
sizeof(Name), NULL, 0, NULL, NULL );
CloseHandle( m_hFileHandle );
需要注意的问题:
1.Name是网络接口设备的名字,最后必须添加多一个‘/0’,我测试了一下,必须以2个0结束才可以。
2.DeviceIoControl函数的nInBufferSize 参数是按byte计算,Name是WCHAR,需要注意。所以我用sizeof计算。
3.不要用DeviceIoControl(...,IOCTL_NDIS_GET_ADAPTER_NAMES,...)这样的代码去读取名字,没有必要,读取出来的名字不仅仅包括网卡的,还包括拨号接口,同步接口等的名字,中间以0间隔,如果不自己做分析,好像DeviceIoControl也不支持直接这样使用,我测试过没有效果。也就是说获取到一系列名字后你依然需要判断那个才是网卡的名字,所以我认为没有必要。
-
wince 内存释放_修改wince存储内存和程序内存收藏
2020-12-22 03:23:08修改wince存储内存和程序内存收藏我使用的方法,不过还是不确定这个参数是什么意思包含Pwindbas.h头文件SetSystemMemoryDivision(512*2);//设置存储内存和程序内存,设置以后存储内存为4M转个帖子WinCE中划分Storage...修改wince存储内存和程序内存收藏
我使用的方法,不过还是不确定这个参数是什么意思
包含Pwindbas.h头文件
SetSystemMemoryDivision(512*2);
//设置存储内存和程序内存,设置以后存储内存为4M
转个帖子
WinCE中划分Storage Memory和Program Memory
2008-12-02 11:55
首先解释下这两个东东
The RAM on a Windows CE–based device is divided into two areas:
the object store and the program memory.
The object store resembles a permanent, virtual RAM disk. Data
in the object store is retained when you suspend or perform a soft
reset operation on the system. Devices typically have a backup
power supply for the RAM to preserve data if the main power supply
is interrupted temporarily. When operation resumes, the system
looks for a previously created object store in RAM and uses it, if
one is found. Devices that do not have battery-backed RAM can use
the hive-based registry to preserve data during multiple boot
processes.
The program memory consists of the remaining RAM. Program memory
works like the RAM in personal computers — it stores the heaps and
stacks for the applications that are running.
我承认我很懒,上面一段话的URL是ms-help://MS.WindowsCE.500/wcecoreos5/html/wce50conMemoryArchitecture.htm
具体的设置可以在系统启动后,Control Panel -> System
-> Memory 里面看到。默认的是把内存五五开,一半给Storage Memory,
一半给Program Memory用。这样显然是不合算的。以64M的RAM为例, 启动后Storage Memory 32M,
而因为没有留出界面让用户往里面拷东西, 任何时候in use都不会超过10M; Program Memory也是32M,
但启动后就用掉27M, 实际上应用程序可用的内存只有5M, 一旦达到了上限,
那么每前进一步都要很艰难地去释放几十K内存,然后用掉,再去释放几十K内存,如此循环,此时应用程序的运行速度狂慢无比.
划分的方法也很简单, 只不过可能没人注意到而已.
说明在ms-help://MS.WindowsCE.500/wceosdev5/html/wce50lrfFSRAMPERCENT.htm
懒得看英文的人就继续往下看
其实说白了就一句话, 在BSP的config.bib里 CONFIG 区添加这个变量 FSRAMPERCENT =
0xXXXXXX, 但注意两点,
(1) 必须写在config.bib的CONFIG区里,
不是plagform.bib不是config.reg等其他文件而是config.bib,也不是config.bib文件的任意地方而一定要在CONFIG
REGION里.
(2) FSRAMPERCENT这个变量一定得写为FSRAMPERCENT, 不能写成FSROMPERCENT不能写成ILOVEU,
或者阿猫阿狗什么的.
写下这两句的时候本人已经打开无敌光环, 免疫一切鸡蛋和西红柿.
FSRAMPERCENT是一个4byte长度的十六进制数, 我们用代数假设 FSRAMPERCENT = 0xQXYZ,
其中Q,X,Y,Z都是十六进制数
那么最终划分给Storage Memory的大小 = ( Q + X + Y + Z ) / 0x400 *
TOTAL_RAM_SIZE
以文中的例子来算, FSRAMPERCENT=0x10203040, 假设TOTAL_RAM_SIZE=64M,
那么StorageMemory= (0x10 + 0x20 + 0x30 + 0x40) / 0x400 * 64M =
10M.
顺路鄙视一下,WinXP自带的计算器里无法输入和计算带小数位的非十进制数.
我已知的划分Storage Memory和Program Memory的方法一共有三种,也是MS文档中给出的三种方法
(1) statically using FSRAMPERCENT
(2) during boot using pOEMCalcFSPages
(3) using api SetSystemMemoryDivision
-
如何修改wince 6.0 NK的启动地址
2016-03-25 08:53:55如何修改wince 6.0 NK的启动地址!能给出具体步骤吗,我分配了loader.h中的block,也对NK启动地址作了偏移,经过一番查询,又得知似乎要修改*.bib文件,可是修改之后依然没效果,请教各位大神给出具体步骤,鄙人... -
如何修改wince的网络配置
2014-06-30 16:13:49如何修改wince的网络配置呢? 首先,必须知道网卡驱动名字。在s3c2410上,名字叫“CS8900”,用工具连接上wince查看他的注册表。你将可以得到下面的东西。 [HKEY_LOCAL_MACHINE/Comm/CS8900] "DisplayName"="CS...如何修改wince的网络配置呢?
首先,必须知道网卡驱动名字。在s3c2410上,名字叫“CS8900”,用工具连接上wince查看他的注册表。你将可以得到下面的东西。
[HKEY_LOCAL_MACHINE/Comm/CS8900]
"DisplayName"="CS8900"
"Group"="NDIS"
"ImagePath"="CS8900.dll"[HKEY_LOCAL_MACHINE/Comm/CS8900/Linkage]
"Route"=hex(7):/
43,53,38,39,30,30,31,00,00,00,00
上面的hex值其实是:CS89001,同样可以在[HKEY_LOCAL_MACHINE/Comm/CS8900]项下面看到关于CS89001的表述。
[HKEY_LOCAL_MACHINE/Comm/CS89001]
"DisplayName"="CS8900"
"Group"="NDIS"
"ImagePath"="CS8900.dll"[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms]
"BusNumber"=dword:00000000
"BusType"=dword:00000000
"InterruptNumber"=dword:0000000a
"Sysintr"=dword:0000001a
"DuplexMode"=dword:00000001
"IoBaseAddress"=dword:a7000300
"Transceiver"=dword:00000003
"CardType"=dword:00000001[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms/TcpIp]
"IpAddress"="192.168.1.109"
"EnableDHCP"=dword:00000000
"LeaseObtainedLow"=dword:6a806780
"AutoInterval"=dword:0000012c
"AutoMask"="255.255.0.0"
"AutoSubnet"="169.254.0.0"
"AutoIP"="0.0.0.0"
"AutoSeed"=dword:00000000
"PrevReqOptions"=hex:/
07,01,03,06,0f,2c,2e,2f
"T2"=dword:000bae0a
"T1"=dword:0006ac98
"Lease"=dword:000d5930
"LeaseObtainedHigh"=dword:01c84915
"DhcpDNS"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"DhcpDefaultGateway"="0.0.0.0"
"DhcpServer"="192.168.1.8"
"DhcpSubnetMask"="255.255.255.0"
"DhcpIPAddress"="192.168.1.63"
"AutoCfg"=dword:00000001
"DefaultGateway"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"DNS"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,31,00,00,00,00
"Subnetmask"=hex(7):/
32,35,35,2e,32,35,35,2e,32,35,35,2e,30,00,00,00,00
"LLInterface"=""
"UseZeroBroadcast"=dword:00000000内容很多,但是我们一般关心的就只有[HKEY_LOCAL_MACHINE/Comm/CS89001/Parms/TcpIp]下的几个。
"EnableDHCP"=dword:0
"DefaultGateway"="192.168.1.1"
"IpAddress"="192.168.1.100"
"Subnetmask"="255.255.255.0"
"DNS"="192.168.1.1"
"DefaultGateway"=hex(7):/
31,39,32,2e,31,36,38,2e,31,2e,38,00,00,00,00
"EnableDHCP"--控制DHCP,如果把他的值改为1,那么系统将用DHCP分配IP,设置的IP等信息是没有效果的。也就是自动获取。
如果"EnableDHCP"为0,那么可以通过"IpAddress","Subnetmask","DefaultGateway"等设置网络信息。其他信息如果有需要自己修改。
至于修改注册表的编程也不是难事,在wince中有函数可以帮助你完成这件事情。
RegCreateKeyEx
RegQueryValueEx
RegSetValueEx
RegCloseKey
其中RegSetValueEx函数可以通过不同的宏写如不同类型的值,比如:
REG_SZ
REG_BINARY
REG_DWORD
还有更多的,具体看winnt.h头文件。
已于读取我想就不用说了,自己看看evc的帮助吧。
DHCP自动获取IP的具体信息相信你也从上面的注册表信息看到了,需要就读取一下。
PS:注册表操作还有其他函数,根据自己情况用吧。面先贴出我的代码
- WCHAR Name[]=_T("CS89001/0");
- HANDLE m_hFileHandle = CreateFile(_T("NDS0:"), 0, 0, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE);
- if( m_hFileHandle == INVALID_HANDLE_VALUE )
- {
- //获得网卡名时打开设备错误
- return;
- }
- //重启网络驱动
- DeviceIoControl( m_hFileHandle, IOCTL_NDIS_REBIND_ADAPTER, Name,
- sizeof(Name), NULL, 0, NULL, NULL );
- CloseHandle( m_hFileHandle );
需要注意的问题:
1.Name是网络接口设备的名字,最后必须添加多一个‘/0’,我测试了一下,必须以2个0结束才可以。
2.DeviceIoControl函数的nInBufferSize 参数是按byte计算,Name是WCHAR ,需要注意。所以我用sizeof计算。
3.不要用DeviceIoControl(...,IOCTL_NDIS_GET_ADAPTER_NAMES,...)这样的代码去读取名字,没有必要,读取出来的名字不仅仅包括网卡的,还包括拨号接口,同步接口等的名字,中间以0间隔,如果不自己做分析,好像DeviceIoControl也不支持直接这样使用,我测试过没有效果。也就是说获取到一系列名字后你依然需要判断那个才是网卡的名字,所以我认为没有必要。
-
如何修改wince工程名字?
2010-08-04 00:09:00如何修改wince工程名字?如何修改工程名字?
A:把中文系统变成英文系统,但是又不想把原来的中文系统改删除,所以必须得把工程名字改了,怎么改呢?我尝试了一下,OK了,方法如下:把工程文件XXX_en.pbxml改名,复制到PBWorkspaces根目录下,改成中文系统名称XXX_cn.pbxml,然后新建一个名为XXX_cn的文件夹把,并把XXX_cn.pbxml文件放到这个文件夹下,右键打开,找到第二行的
<Workspace PlatformName="XXX_cn" Template="Mobile Handheld" CoreOs="CEBASE" PlatformGuid="37d7ab83-a398-4094-8037-37ecdb154ec5"
只要把如上红色字眼的XXX_cn改成我们要的XXX_en ,这样就可以让英文系统和中文系统共存了,如果一个工程,想修改成使用别的BSP呢?这个应该怎么做呢,刚才我看了一下,发现照样是修改工程文件就可以达到目的,以后有空再试试吧。下班了,goodday!
-
设置修改WINCE系统定制的NK大小(WINCE600)
2011-02-11 09:17:00Topic:设置修改WINCE系统定制NK的大小 -
修改wince的系统时间,修改年月日时分秒
2015-08-13 09:59:49wince下,修改设备的系统时间,修改至年月日时分秒。 -
wince bootloader 修改 wince时间问题
2011-03-23 13:15:00ARM 系统使用wince需要判断RTC时间的准确性否则系统在启动以后会出现奇怪的现象如:系统时间为2479年等会引起系统USB连接同步故障等因此在 bootloader 中需要先判断RTC时间:Year=rBCDYEAR;if((Year&0XF)>9||((Year ... -
修改wince时间问题
2015-08-19 15:58:16我这里有源码 但是编译时报错。Coredll.dll去哪找啊,我不管在项目目录下还是在system32内都无法引用。是我的Coredll.dll不对么 [img=https://img-bbs.csdn.net/upload/201508/19/1439971013_840561.png][/img] -
修改WinCE启动界面(笔记)
2009-04-01 10:41:00我用的是Mini2440,我在网上找了一些修改WinCE启动界面的资料,但是还是不是很好。开始我使用光盘里的BMP2T.exe工具转出来的图不行,有问题。后来在网上贴子才发现,先要搞清楚要用几位的数据。在cfw.c我找到了答案... -
c# 编程修改 wince 系统时间
2019-09-28 05:38:44[StructLayout(LayoutKind.Sequential)] public struct SYSTEMTIME { public ushort wYear; public ushort wMonth; public ushort wDayOf... -
修改wince默认.EXE图标
2017-02-13 13:12:201、开发环境vs2008 ,硬件FREESCALE I.MX51 EVK手持机 2、在解决方案,选择项目点击右键选择属性,找到应用程序,在资源 -
修改Wince6.0 Registry Storage
2011-04-27 18:28:00这几天在开发板上玩wince6.0,为了使触摸校准信息保存到注册表,并冷启动下依然有效,决定把Registry Storage由RAM-based改为Hive-based,看了一些资料说明,修改platform.reg文件如下: "SYSTEMHIVE"=... -
修改WINCE6.0自带的驱动
2014-04-03 16:07:12想直接用WINCE6.0自带的驱动 就把[color=#FF0000]C:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\STORAGE[/color]里 CLASS里的文件复制到[color=#FF0000]C:\WINCE600\PLATFORM\DEVICEEMULATOR\SRC\DRIVERS[/... -
通过注册表修改WINCE系统IP参数
2011-12-06 22:25:58紧跟《注册表中RegSetValueEx用法》文章,自己写了一个测试程序,... 测试程序的功能是,谁知当前WINCE设备的IP地址,包括:子网掩码、默认网关等,并且使设置参数重启有效 #include #include HINSTANCE hMainIns -
修改wince桌面的方法
2008-06-09 17:19:25修改注册表项即可,如下: [HKEY_CURRENT_USER\ControlPanel\Desktop] "Wallpaper"="\windows\windowsce.bmp" 把windowsce.bmp替换成你自己的图象就可以了,当然了,需要首先把你的图片考到bsp的FILES文件夹,后... -
清除或修改WinCE拨号参数附加命令
2013-12-24 13:16:11BYTE lpb[684]={0}; DWORD lpbSize=sizeof(lpb); dwRet = RasGetEntryProperties(NULL,(LPWSTR)szEntry,&rasEntry,&rasEntrySize,lpb,&lpbSize); if(dwRet == 0 ) { //如果有附加命令,则清空。... -
如何连接和修改WinCE自启动程序
2013-08-29 16:54:14项目需要用到第三方WinCE终端,根据项目需求要对终端的程序进行修改,但是终端除了一个触摸屏外没有其它按键,系统一启动就自启动指定的程序。 因本人一直是做应用开发的(C#),对这些不太了解,是需要什么样的... -
修改wince存储内存和程序内存
2009-04-15 23:35:00我使用的方法,不过还是不确定这个参数是什么意思 包含Pwindbas.h... //设置存储内存和程序内存,设置以后存储内存为4M 转个帖子 WinCE中划分Storage Memory和Program Memory2008-12-02 11:55首先解释下这两个 -
修改wince 触摸屏点击声音的方法
2009-06-30 16:14:001、替换C:/WINCE500/public/common/oak/drivers/waveui 下的几个wave 文件。2、编译该目录 build -c,生产 waveui.res3、复制 waveui.res 到 C:/WINCE500/public/common/oak/LIB/ARMV4I/RETAIL/08044、重命名 ... -
如何修改wince(s3c2410)的MAC地址
2013-04-22 20:56:22wince中的MAC地址是在驱动中写死的。如果不修改会造成一些网络方面的功能故障。比如不能互ping。 下面是我解决的方法: 1.添加如下注册表 [HKEY_LOCAL_MACHINE/Comm/CS8900/Parms] "MAC12"=dword:3322 -
如何修改wince触摸屏校准界面 的显示文字
2013-03-11 16:12:27BSP中提供的触摸屏校准程序在个别设备上用起来可能不太适合,比如说我们的设备屏幕宽度只有240pixels,会有部分字符超出屏幕外侧,原以为这是BSP的提供的程序,无源码没办法修改,这两天才知道原来是可以修改的。... -
如何修改wince(s3c2410)的MAC地址?
2013-11-12 17:09:49wince中的MAC地址是在驱动中写死的。如果不修改会造成一些网络方面的功能故障。比如不能互ping。 下面是我解决的方法: 1.添加如下注册表 [HKEY_LOCAL_MACHINE/Comm/CS8900/Parms] "MAC12"=...
-
Samba 服务配置与管理
-
小程序输入框上推页面不上推
-
C++基础学习第六课(构造函数与析构函数)
-
混沌系统分析工具箱:网上盛传的一个分析混沌的工具箱,十分的实用!!
-
ELF视频教程
-
upload-labs第五关 pass-05 大小写绕过
-
*Php消息队列实现
-
libFuzzer视频教程
-
upload-labs第一关 pass-01 js检查
-
恩智浦fxos8700cq姿态解算
-
铁道部新客票系统设计
-
数学建模-层次分析法建模
-
FastDFS 分布式文件系统部署
-
数学建模-生物种群模型
-
Docker从入门到精通
-
程序员必修基础套餐课
-
MySQL 高可用工具 DRBD 实战部署详解
-
字节跳动内推-电商物流中台后台研发工程师
-
PhpMyAdmin 4.0.x-4.6.2远程执行代码漏洞 CVE-2016-5734 漏洞复现
-
android登陆、注册、并个指定用户充值