Exemple #1
0
        public static USBDeviceInfo GetInitializedUsb(IEnumerable <USBDeviceInfo> devices)
        {
            var device = devices.SingleOrDefault(d =>
            {
                var sync = new USBSync(d);
                return(sync.Match());
            });

            return(device);
        }
Exemple #2
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            btnStart.Enabled = false;
            btnStart.Text    = "数据同步中,请稍后!";
            var devices = Utils.GetUsbDevices();

            if (!devices.Any())
            {
                MessageBox.Show("没有找到可用于同步数据的 USB 设备,请检查您的设备是否已连接至电脑");
                return;
            }

            var initializedUsb = Utils.GetInitializedUsb(devices);
            var usbSync        = new USBSync(initializedUsb);

            if (usbSync.DeviceReady)
            {
                // 确定本机连接的服务器的身份(服务端或者客户端)
                var serverType = Utils.GetCurrentServerType();
                if (serverType == 0)
                {
                    // 服务端的数据库标识数据在部署时已手动添加
                    // 在此,第一次在客户端进行初始化时,将生成
                    // 一条数据库标识数据,插入数据库中
                    Utils.AddDbIdentity();
                    serverType = 2;
                }

                //string webAppDir = Utils.GetWebAppDir();
                //string webAppDir = Utils.GetServerUrl();

                //try
                //{
                //    //var port = Utils.GetWebAppPort();
                //    //webAppDir = Utils.GetWebAppDirectoryByPort(port);
                //    var appName = Utils.GetWebAppName();
                //    webAppDir = Utils.GetWebAppDirectoryByAppName(appName);
                //}
                //catch (COMException)
                //{
                //    MessageBox.Show("获取 webapp 目录失败,请尝试“关闭程序,然后以管理员身份运行此程序”");
                //    return;
                //}

                // 根据身份启动相应的程序进行数据同步
                usbSync.DoSync(serverType);
                MessageBox.Show("数据同步成功");
            }
            else
            {
                MessageBox.Show("没有找到可用于同步数据的 USB 设备,您的 USB 设备没有经过“USB 初始化工具”初始化");
            }
        }
Exemple #3
0
        private void VolumeClick(object sender, EventArgs e)
        {
            var btn   = sender as Button;
            var t     = btn.Text;
            var start = t.LastIndexOf("(") + 1;
            // 从像 xxx(x:) 的字符串中提取盘符
            var dir = t.Substring(start, t.Length - start - 1);

            var usbSync = new USBSync(dir);

            if (usbSync.Match())
            {
                MessageBox.Show("此 U 盘已被正确初始化,可以正常使用");
            }
            else
            {
                usbSync.InitUsb();
                this.Controls.Remove(btn);
                this.main.Show();
                MessageBox.Show("初始化成功");
                this.Close();
            }
        }