在与 ActiveSync 同步的同时读取 PDA 目录的内容

2024-01-10

我有一个项目,需要复制 PDA 中找到的文件(就我而言,如果这有什么区别的话,它是 MC3000)。我安装了 ActiveSync,它为我创建了同步文件夹,效果很好。但是,我希望不仅能够在其 MyDocument 文件夹中读取 PDA 的内容,所以我不能使用它(另外它必须与 20 多个可能的同一型号的 PDA 一起使用,从而形成 20 多个目录)

有没有办法在 PDA 与 ActiveSync 对接并同步时在 PDA 内部执行一些 IO。

我可以在资源管理器中看到“移动设备”。

Thanks


Use RAPI http://rapi.codeplex.com/。这是一个 Codeplex 项目,提供托管包装类Rapi.dll http://msdn.microsoft.com/en-us/library/ee497054.aspx和 ActiveSync。它允许桌面 .NET 应用程序与系留移动设备进行通信。包装起源于OpenNetCF 项目 http://www.opennetcf.com/,但现在是单独管理的。

您可以使用从该项目附带的整个 RAPI 项目 DLL,或者仅使用您需要的代码子集。我需要在设备连接时在设备上创建文件,因此我不需要性能统计信息或 Rapi 中包含的设备注册表信息。所以我只获取了我需要的 3 个源文件......

它对我有用的方式是这样的:

  • 使用ActiveSync (DccManSink) 检测移动设备连接/断开状态
  • 使用 RAPI 包装器将文件复制到设备、在设备上创建文件、从设备复制文件等。

private DccMan DeviceConnectionMgr;
private int AdviceCode;
private int ConnectionStatus = 1;
private System.Threading.AutoResetEvent DeviceConnectionNotification = new System.Threading.AutoResetEvent(false);


public void OnConnectionError()
{
    ConnectionStatus = -1;
    DeviceConnectionNotification.Set();
}

public void OnIpAssigned(int address)
{
    ConnectionStatus = 0;
    DeviceConnectionNotification.Set();
}


private void btnCopyToDevice_Click(object sender, EventArgs e)
{
    // copy the database (in the form of an XML file) to the connected device
    Cursor.Current = Cursors.WaitCursor;

    // register for events and wait.
    this.DeviceConnectionMgr = new DccMan();

    DccManSink deviceEvents = new DccManSink();
    deviceEvents.IPChange += new IPAddrHandler(this.OnIpAssigned);
    deviceEvents.Error += new ErrorHandler(this.OnConnectionError);
    ((IDccMan)DeviceConnectionMgr).Advise(deviceEvents, out this.AdviceCode);

    // should do this asynchronously, with a timeout; too lazy.
    this.statusLabel.Text = "Waiting for a Windows Mobile device to connect....";

    this.Update();
    Application.DoEvents();  // allow the form to update

    bool exitSynchContextBeforeWait = false;
    DeviceConnectionNotification.WaitOne(SECONDS_TO_WAIT_FOR_DEVICE * 1000, exitSynchContextBeforeWait);

    if (ConnectionStatus == 0)
    {
        this.statusLabel.Text = "The Device is now connected.";
        this.Update();
        Application.DoEvents();  // allow the form to update

        RAPI deviceConnection = new RAPI();
        deviceConnection.Connect(true, 120);  // wait up to 2 minutes until connected
        if (deviceConnection.Connected)
        {
            this.statusLabel.Text = "Copying the database file to the connected Windows Mobile device.";
            this.Update();
            Application.DoEvents();  // allow the form to update
            string destPath = "\\Storage Card\\Application Data\\MyApp\\db.xml";
            deviceConnection.CopyFileToDevice(sourceFile,
                                              destPath,
                                              true);

            this.statusLabel.Text = "Successfully copied the file to the Windows Mobile device....";
        }
        else
        {
            this.statusLabel.Text = "Oh, wait, it seems the Windows Mobile device isn't really connected? Sorry.";
        }

    }
    else
    {
        this.statusLabel.Text = "Could not copy the file because the Device does not seem to be connected.";
    }

    Cursor.Current = Cursors.Default;

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在与 ActiveSync 同步的同时读取 PDA 目录的内容 的相关文章

  • NUnit 与 xUnit

    两者有什么区别NUnit http www nunit org and xUnit net https xunit net 开发其中两个而不是仅一个有什么意义 我读到 xUnit 是由 NUnit 的发明者开发的 xUnit net 是 N
  • Visual Studio 2013 中的内存分析

    我想探索如何在我的应用程序中分配内存 我有 C 控制台应用程序并使用 Visual Studio 2013 Professional I go to Analyze gt 性能和诊断并选择 NET内存分配 结果我得到以下总结 图表中每次CP
  • python中的StringIO实际用途是什么?

    StringIO到底是用来做什么的 我一直在互联网上寻找一些例子 然而 几乎所有的例子都非常抽象 他们只是展示 如何 使用它 但它们都没有表明 为什么 和 在什么情况下 应该 将使用它 附注不要与 stackoverflow 上的这个问题混
  • 为什么 ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ 是美国的本土名称?

    当我使用这段代码时 var ri new RegionInfo us var nativeName ri NativeName why is nativeName然后是字符串 in Cherokee https en wikipedia o
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • C# 创建包含多个文件的 ZIP 存档

    我正在尝试创建包含多个文本文件的 ZIP 存档 如下所示 Dictionary
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • 重写某些 .Net Framework 控件的绘制以更改其边框颜色?

    SCENARIO 我正在使用第三方 Windows 视觉主题 当我看到我的应用程序时 它看起来像这样 但是当我使用正常的Aero主题 它看起来到处都有可怕的白色边框 QUESTION 我知道应用程序中使用的配色方案取决于视觉风格 但是 我可
  • 强制 Mpeg2 解复用器使用 ffdshow 渲染 H 264 数字电视视频

    不幸的是 我花了很多时间尝试使 DirectShow 的 DTVViewer 示例正常工作 但没有成功 DVBT网络的视频格式是H264 我发现IntelliConnect行为IFilterGraph更喜欢使用 Mpeg2 视频格式 对于那
  • 当用户打开文件时如何锁定对文件的访问?

    我正在编写一个 C NET 程序 该程序使用 XmlSerializer 对当前用户正在处理的项目与 XML 文件进行序列化和反序列化 这工作正常 但我试图找到一种方法来防止两个用户从网络驱动器打开同一个文件并让一个用户覆盖前一个用户的保存
  • ASP.NET MVC ActionFilterAttribute 在模型绑定之前注入值

    我想创建一个自定义操作过滤器属性 该属性在模型绑定期间可访问的 HttpContext 项中添加一个值 我尝试将其添加到 OnActionExecuting 中 但似乎模型绑定是在过滤器之前执行的 你知道我该怎么做吗 也许模型绑定器中有一个
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext
  • 序列包含多个元素

    我在通过 Linq 获取 RhsTruck 类型的列表并显示它们时遇到一些问题 RhsTruck 只有属性 品牌 型号 序列号 等 RhsCustomer 具有 CustomerName CustomerAddress 等属性 我不断收到错
  • string.Empty 与 null。您使用哪一个?

    最近工作的同事告诉我不要使用string Empty设置字符串变量时但使用null因为它污染了堆栈 他说不做 string myString string Empty but do string mystring null 真的有关系吗 我
  • 如何获取可用系统内存的大小?

    C NET 中是否可以获取系统可用内存的大小 如果是的话怎么办 Use Microsoft VisualBasic Devices ComputerInfo TotalPhysicalMemory http msdn microsoft c
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error

随机推荐

  • Bootstrap css,如何使导航栏切换始终可见?

    我想添加在移动设备上显示的按钮之一 以便打开导航栏中的折叠菜单 但到目前为止还无法做到 这里是较少的代码和 html navbar toggle always navbar toggle media min width 768px disp
  • MongoDB 汇总之前所有周的每周总和

    我有一系列 MongoDB 文档 一个示例文档是 createdAt Mon Oct 12 2015 09 45 20 GMT 0700 PDT year 2015 week 41 想象一下这些跨越一年中的所有几周 并且同一周可能有很多 我
  • Modernizr:如何检测 CSS display:table-cell 支持?

    我想用display table and display table cell对于我在支持它的浏览器中的布局 在 IE7 中 我只是想浮动我的列 因为我假设它不可能在该浏览器中工作 但无法找到有关如何使用 Modernizr 执行此操作的任
  • 如何在 matplotlib 中绘制 datetime.time ?

    我有两个要显示的数组 x datetime time 0 17 47 782000 ect y 1712 2002 ect 我正在尝试将 x 转换为 matplotlib 使用的格式 但它永远不会工作 x matplotlib dates
  • 使用 Firebase 身份验证验证 ID 令牌

    我们正在开始开发一个 Web 应用程序 并考虑使用 Firebase 身份验证来处理我们的注册流程 但是 我们不确定 ID 令牌验证的工作原理 似乎可以在 Firebase 领域之外使用其令牌来验证用户 我们正在考虑在 Google Kub
  • 如何在Delphi XE3 FireMonkey 2中的TTabControl的每个选项卡上实现关闭按钮?

    我正在尝试创建一个浏览器样式的 TabControl 在 FireMonkey FM2 中的每个选项卡上都有一个小的关闭按钮 由于 FM2 中没有 TTabsheet 和 TPageControl 组件 因此我无法使用 如何为 TPageC
  • 我的 Django 项目未加载 Bootstrap 字形

    当我加载页面时 我的终端中收到以下消息 Not Found fonts glyphicons halflings regular woff2 24 Aug 2016 17 19 36 GET fonts glyphicons halflin
  • 如何知道JQuery是否已完成加载[重复]

    这个问题在这里已经有答案了 对于某些情况 我需要使用一段 javascript 加载 jQuery 如下所示
  • 基于构建的不同 SASS/Coffeescript 变量值

    我正在尝试为前端框架创建一个构建系统 该框架将根据我部署到的位置在 SASS 可能还有 Coffeescript 中创建不同的路径 例如 我可能有一个在本地 SASS 中引用的图像文件 images image png 这在我当地的环境中运
  • 尝试从元组中删除最后一个类型失败

    我正在尝试删除元组的最后一个元素 当我在元组中只有一个元素需要删除时 它会起作用 但当我有不止一个时 事情就会出错 我不明白为什么这不起作用 这些是我收到的错误 prog cpp 在函数 int main prog cpp 24 22 错误
  • 用于检测最小化窗口的钩子 C#

    大家好 在C 中如何检测用户单击了外部程序 例如记事本 的最小化按钮 谢谢 这应该有效 public class myClass DllImport user32 dll return MarshalAs UnmanagedType Boo
  • 将 Dropzone 与 Typescript 结合使用

    我有一个使用 dropzone 4 3 并用 Typescript 编写的应用程序 在将其转换为打字稿之前 我们必须在 Dropzone 上设置一个全局变量 一切都很顺利 Dropzone autoDiscover false 我已经拉入了
  • 如何告诉调试器忽略抛出异常时的中断?

    我有一个文本框 在其中使用第三方库验证输入 但是 当语法不正确时 该库会引发自定义异常 这并不是什么大问题 除非您正在调试 调试时 由于 TextBox 中的文本最初总是错误的 我仍在输入它 因此调试器将在每个字母之后停止 直到它正确为止
  • 像 CCSprite 对象一样移动 Box2d 实体

    在cocos2d中 您可以轻松使用CCSprites并以各种方式移动它们 最重要的是 他们可以缓入 缓出 对于大多数游戏来说 这对于平滑移动等是可取的 id action CCMoveTo actionWithDuration dur po
  • Android onCreateContextMenu 和 onContextItemSelected 中的 NULL menuInfo 仅在 onListItemClick 中手动调用 openContextMenu 时出现。长按有效

    我已经解析了这里的很多帖子 但没有发现任何像我的问题一样的东西 基本上我想打电话openContextMenu l in onListItemClick 这样做会创建一个没有内容的上下文菜单menuInfo 长按即可正常工作 执行长按后 我
  • Xdebug 无法连接远程服务器

    我希望使用不同计算机的团队能够在同一台计算机上调试 PHPremote服务器 但我很难让 Xdebug 在 NetBeans 7 0 1 中工作 我尝试了很多网上的建议 但没有效果 作为记录 我已经成功安装了 Xdebuglocally在运
  • 将 scipy 对象保存到文件

    我想保存对象interpolator产生自scipy interpolate InterpolatedUnivariateSpline到一个文件 以便随后加载并使用它 这是控制台上的结果 gt gt gt interpolator
  • 弹出到 expokit 时,Expo 卡在“配置同步”上

    当尝试从 expokit 中弹出项目时 它不会完成并卡在config syncing一个多小时 当我用 expo 创建一个新项目然后运行时也会发生这种情况expo run android 我解决了下面的步骤 删除文件以获得新的感觉 rm r
  • 字符串值中的 Coder 是什么?

    我正在读取 CSV 文件 方法是使用com opencsv CSVReader像下面这样 String headers csvReader readNext 标题的值如下屏幕截图所示 这里的编码器是什么 以黄色突出显示 为什么第一个索引的值
  • 在与 ActiveSync 同步的同时读取 PDA 目录的内容

    我有一个项目 需要复制 PDA 中找到的文件 就我而言 如果这有什么区别的话 它是 MC3000 我安装了 ActiveSync 它为我创建了同步文件夹 效果很好 但是 我希望不仅能够在其 MyDocument 文件夹中读取 PDA 的内容