从 Windows CE 访问共享/另一台计算机

从 Windows CE 访问共享/另一台计算机

我有一台运行 Windows CE 5.0 的计算机。

我需要从另一台计算机(Windows XP 或 Windows 7 下)获取文件并将它们复制到这台 Windows CE 计算机上。

我的 WinCE 具有以下 IP 地址:192.168.50.11 我的 Win7 具有以下 IP 地址:192.168.50.200

我在 Windows 7 计算机上创建了一个文件夹共享,每个人都有读取/正确访问权限。它位于:“\WRKS-NTB-01\Share”

从我的 WinCE,我可以 ping 我的 Win7,但只有在选择它的 IP 时才可以。

当我使用 Explorer 时,我无法访问共享,并收到错误“无法在 192.168.50.200 上找到文件......”。

我尝试将我的 Win7 IP 地址设置为我的 WinCE 网卡的 DNS 服务器、WINS 服务器和网关服务器。但没有成功...

答案1

据我所知,在 WinCE 中无法以这种方式访问​​网络。

您可以使用:1. ActiveSync 2. KITL 3. USB/SD 卡/UART(取决于 BSP 支持)

用于文件传输。

答案2

您可以从此内容中获取信息 =>http://www.hpcfactor.com/support/cesd/c/0006.asp

“Windows CE 没有本机网络邻居/我的网络位置资源管理器区域。为了访问网络共享,您必须使用远程计算机通用命名约定 (UNC) 路径。”

答案3

您是否考虑过 SMB 文件共享?Visuality Systems 已为 Windows CE 开发了 SMB2 和 SMB3 解决方案。使用 SMB3,您可以访问 Windows、Mac、Linux 甚至 Azure 上的任何共享。查找 YNQ SMB 库。

答案4

这是 TB-10201 答案的扩展,如果您赞同此答案,请也赞同该答案。以下是一些可能有帮助的提示。

确实,Windows CE(至少到版本 7)不支持通过 \\ipaddress\share_name 连接到共享文件夹,它必须使用 \\pc_name\share_name,我找不到解释这一点的微软官方文档,但请阅读本手册的第 26 页:https://www.eaton.com/content/dam/eaton/products/industrialcontrols-drives-automation-sensors/xc-compact-programmable-logic-controllers-(plcs)/windows-ce-mn05010007z-en.pdf

使用 WINS 名称解析

  1. 我拿了一台装有 Windows 10 的笔记本电脑,并使用直接以太网交叉电缆连接到 Windows CE 设备

  2. 在该笔记本电脑上启用了 SMB1 协议(我不确定必须启用这 3 个选项中的哪些,我启用了这 3 个,请做更多研究)

    在此处输入图片描述

  3. 为两个设备提供静态 IP 地址

  4. 确保两台设备可以使用 IP 互相 ping 通

  5. 打开笔记本电脑的 NIC 属性并启用 WINS -> 启用 TCP/IP 上的 NetBIOS

    在此处输入图片描述

  6. 同样在笔记本电脑上,转到服务并确保“计算机浏览器”正在运行并且它自动运行

    在此处输入图片描述

    据我所知,启用 TCP/IP 上的 NetBIOS 和计算机浏览器服务可以以某种方式启用 2 个设备之间的名称解析。我无法安装 Wins 服务器,因为它仅在 Windows Server OS 上可用,而且他们不允许我在域控制器中启用它,而实际上不应该这样做。

  7. 在 Windows CE 主机上将笔记本电脑的 IP 地址设置为 WINS 服务器

  8. 现在使用该名称从 WinCE 设备 ping 笔记本电脑(对我来说有效)

  9. 在笔记本电脑中创建一个文件夹并共享它(尝试使用非常短的名称,限制为 15 个字符) 在此处输入图片描述

  10. 尝试使用以下命令保存 WinCE 设备中的连接:

net use * \\otherpc\shr [域]\用户名

  1. WinCe 将要求输入密码
  2. WinCE 还将提供存储凭据的选项(我认为它将凭据保存在注册表中,请参阅下面的“保留更改”
  3. 该文件夹应出现在 WinCE 上的“网络”文件夹中

使用 HOST 注册表项

为了让 WinCE 设备使用名称解析笔记本电脑的 IP,我们可以在 HOSTS 或 LMHOSTS 文件中添加一个条目,但 WinCE 没有 HOSTS 或 LMHOSTS 文件,它将这些值保存在系统注册表中。

HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts\TheOtherPC

其中“TheOtherPC”是您添加的另一台计算机的名称的密钥,然后添加 2 个二进制值

  • “ipaddr”(另一台计算机的名称)
  • “ExpireTime”(很长一段时间,所以它实际上永远不会过期)

互联网上的页面说你必须将这些值添加为二进制和十六进制格式,但我无法让它工作

此外,WinCE 设备可能有也可能没有注册表编辑器程序,就我的情况而言,它有。有远程注册表编辑器,但我没有尝试过。

坚持改变

据我所知,WinCE 不会在配置文件中保存任何内容,而是将所有内容保存在 Windows 注册表中,因此您需要告诉 WinCE 设备保存注册表中的更改,否则下次设备重新启动时这些更改将消失。此选项可能取决于供应商,就我而言,我在控制面板中找到了一个选项,其中只有一个按钮“保存注册表”。在这种情况下它使用每次设备启动时运行的 Autoexec.reg,在此 reg 文件中添加类似

[HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts\pc]
"ipaddr"=hex:0a,0a,0a,01

其中“ipaddr”是 IP 的十六进制数。此外,您可能还需要添加“ExpireTime”值

链接

相关内容