PDA通过数据线同步电脑后,将netcf和SQLCE的CAB文件手动的复制到PDA里,还得手动的建立目录,创建快捷方式(麻烦)。现在不止实施人员这么做,连客户也要这么做(PDA备电没电了,就还原了),想了想有没有简便方式,好像在见过,在网上搜索一番,然后开始动手,不过都得感谢下面“2位”:

1.OpenNETCF.Desktop.Communication

2.Microsoft ActiveSync 4.5

 

大致原理:利用Rapi对PDA里的文件,目录创建,复制的操作,其次就是用 Microsoft ActiveSync 安装目录里CEAPPMGR.EXE在PC给PDA安装CAB。

 

首先,在网上下载的OpenNETCF.Desktop.Communication的源码,换个8.0的解决方案,然后编译成DLL。

然后,创建一个Windows程序项目,引入刚编译的DLL,然后在CS文件添加:

 

using OpenNETCF.Desktop.Communication;
using System.Collections;
using System.IO;
using System.Threading;

 

 

     接下来就是实例化RAPI类(主角),然后就是声明点全局变量来使用:

 

#region 变量
        
//源文件目录 也是程序启动目录
        private string _loadPath;
        
//目标目录 也是安装目录
        private string _newPath = @"\Storage Card\PDA\";
        
//目标数据目录
        private string _newDataPath = @"\Storage Card\PDA\Data\";
        
//目标图片目录
        private string _newPhotoPath = @"\Storage Card\PDA\Photo\";
        
//PDA桌面文件夹路径
        private string _newlnkPath = @"\Windows\Desktop\";
        
//CEAPPMGR.EXE路径用于PC安装CAB
        private string _CabSetuper = "C:\\Program Files\\Microsoft ActiveSync\\CEAPPMGR.EXE";
        
//组件目录名
        private string _CabPathName = "Cab";
        
//主程序目录名
        private string _exePathName = "Data";
        
//rapi
        private OpenNETCF.Desktop.Communication.RAPI _rapi;
        
//日志
        private List<string> _logData;
        
#endregion

        
#region 窗体加载
        
private void frmMain_Load(object sender, EventArgs e)
        {
            PlaySound();
            FormShow();
            _loadPath 
= Application.StartupPath;
            _rapi 
= new OpenNETCF.Desktop.Communication.RAPI();
            _logData 
= new List<string>();
        }
        
#endregion

相关文章:

  • 2021-11-30
  • 2021-06-01
  • 2021-05-19
  • 2021-11-26
  • 2022-01-03
  • 2022-02-13
  • 2021-09-29
  • 2022-12-23
猜你喜欢
  • 2021-07-13
  • 2021-06-10
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案