⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmake.cs

📁 音像资料管理系统光盘制作控件源代码音像资料管理系统光盘制作控件源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
        {
             try
            {
            ISOCreater.mciSendString("set cdaudio door closed wait", "", 0, this.Handle);
                }
            catch(Exception ex)
            {
                ErrMessage = ex.Message;
            }
        }
        /// <summary>
        /// 得到默认光驱名称
        /// </summary>
        public string GetDefaultCDRom()
        {
              try
               {
               return  ISOCreater.GetDefaultCDRom();
               }
                 catch(Exception ex)
              {
                ErrMessage = ex.Message;
                throw new Exception(ex.Message);
             }
        }
   
           
        /// <summary>
        /// 结束事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GameOver(object sender,EventArgs e)
        {

        }
        #region 取FTP字符属性
        //ftp://username:password@192.168.0.1:21//
        //ftp://sss//
        /// <summary>
        /// 用户名
        /// </summary>
        /// <param name="WCutString">字符串</param>
        /// <returns></returns>
        private string ftpUserName(string WCutString)
        {
            try
            {
                int bc = WCutString.IndexOf("//");
                int ec = WCutString.IndexOf(":", 5);
                int length = ec - bc;
                string ftpun = WCutString.Substring(bc + 2, length - 2);
                return (ftpun == "") ? "anonymous" : ftpun;
            }
            catch
            {
                return "anonymous";
            }
        }
        /// <summary>
        /// 密码
        /// </summary>
        /// <param name="WCutString">字符串</param>
        /// <returns></returns>
        private string ftpPassWord(string WCutString)
        {
            try
            {
                int bc = WCutString.IndexOf(":", 5);
                int ec = WCutString.IndexOf("@");
                int length = ec - bc;
                string ftppw = WCutString.Substring(bc + 1, length - 1);
                return (ftppw == "") ? "" : ftppw;
            }
            catch
            { 
            return "";
            }
        }
        /// <summary>
        /// 主机
        /// </summary>
        /// <param name="WCutString">字符串</param>
        /// <returns></returns>
        private string ftpHost(string WCutString)
        {
            try
            {

                int bc = WCutString.IndexOf("@");
                int ec = WCutString.IndexOf(":", WCutString.IndexOf(":", 5) + 1);                
                int length = ec - bc;
                string wct=WCutString.Substring(bc + 1, length - 1);
                if(wct.IndexOf("ftp")>=0)
                {
                     bc = WCutString.IndexOf("//");
                     ec = WCutString.IndexOf("/", bc + 2);
                     length = ec - bc;
                    wct = WCutString.Substring(bc + 2, length - 2);
                }
                return wct;
            }
            catch  //ftp://sss//
            {
                int bc = WCutString.IndexOf("//");
                int ec = WCutString.IndexOf("/", bc + 2);
                int length = ec - bc;
                return WCutString.Substring(bc + 2, length - 2);
            }
        }
        /// <summary>
        /// 端口
        /// </summary>
        /// <param name="WCutString">字符串</param>
        /// <returns></returns>
        private string ftpPort(string WCutString)
        {
            try
            {
                int bc = WCutString.IndexOf(":", WCutString.IndexOf(":", 5) + 1);
                int ec = WCutString.IndexOf("/", WCutString.IndexOf("//") + 2);
                int length = ec - bc;
                string ftppt = WCutString.Substring(bc + 1, length - 1);
                int portnum = 21;
                if (!int.TryParse(ftppt, out portnum))
                {
                    ftppt = "21";
                }
              

                return  ftppt;
            }
            catch
            {
                return "21";
            }
        }
        /// <summary>
        /// 服务器路径
        /// </summary>
        /// <param name="WCutString">字符串</param>
        /// <returns></returns>
        private string ftpFilePath(string WCutString)
        {
            int ec = WCutString.IndexOf("/", WCutString.IndexOf("//") + 2);
            return WCutString.Substring(ec);
        }
        #endregion 
        #region ISO制作及控件事件
        private void OnProgressEvent(object sender, long mini, long max, long value)
        {
            try
            {
                this.toolStripProgressBar1.Maximum = (int)max;
                this.toolStripProgressBar1.Minimum = (int)0;
                this.toolStripProgressBar1.Value = (int)value;
                ///每处理20兆则分派消息
                if (value % 20480 == 0)
                    Application.DoEvents();
            }
            catch { ;}
        }
        private void cdromListBox_DrawItem(object sender, DrawItemEventArgs e)
        {
            e.DrawBackground();

            string s = cdromListBox.Items[e.Index].ToString(); //文字
            Point textLocal = new Point(e.Bounds.X + 2, e.Bounds.Y + 2 + 10 + 2);
            Point shadowTextLocal = textLocal;
            shadowTextLocal.X -= 1;
            shadowTextLocal.Y -= 1;


            e.Graphics.DrawString(s,
                                new Font("宋体", 9f),
                                Brushes.White,
                                shadowTextLocal);

            e.Graphics.DrawString(s,
                                 new Font("宋体", 9f),
                                 new SolidBrush(Color.FromArgb(200, 0, 0, 0)),
                                 textLocal);

            //ICO
            Point iconLocal = new Point(e.Bounds.X + (int)Math.Abs((e.Bounds.Width / 2) - 32), e.Bounds.Y + 8);
            e.Graphics.DrawImage(imageList1.Images[0], iconLocal.X+100, iconLocal.Y-3, 24, 24);
            //盘符
            Point iconLabelLocal = new Point(iconLocal.X+1 , iconLocal.Y + 7);


            ///简单阻止NULL异常
            try
            {
                CDInfo cdinfo = cdromListBox.Items[e.Index] as CDInfo;

                e.Graphics.DrawString(cdinfo.Name,
                                     new Font("宋体", 10.5f),
                                     new SolidBrush(Color.FromArgb(200, 0, 0, 0)),
                                     iconLabelLocal.X - 1, iconLabelLocal.Y - 1);

                e.Graphics.DrawString(cdinfo.Name,
                                     new Font("宋体", 10.5f),
                                     new SolidBrush(Color.FromArgb(200, 100, 100, 100)),
                                     iconLabelLocal);
            }
            catch { ;}
        }

        private void cdromListBox_MeasureItem(object sender, MeasureItemEventArgs e)
        {
            //计算高度,间隔+ICON+间隔+字高+调整位
            e.ItemHeight = 2 + 16 + 2 + 9 + 6;
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            InitCDROMList();
        }
        bool onloadtrue = false;
        private void FormMain_Load(object sender, EventArgs e)
        {
            onloadtrue = true;
            if (OpterationModel == 3)
            {
                cbWithFtpUpLoad.Text = "只上传文件";
            }
            this.toolTip1.SetToolTip(TestFtpPath, "选择目标文件路径!");
        
            this.OnConvertCompleted += this.GameOver;
            InitCDROMList();
            //操作模式 0- 担搁 1 - 批量制作ISO上传 2-批量制作ISO 3-批量上传
       
               
         
        }

        private void InitCDROMList()
        {
            ///初始化CDROM列表
            cdromListBox.Items.Clear(); 
            this.listView1.Items.Clear();
            DriveInfo[] dis = DriveInfo.GetDrives();
            foreach (DriveInfo di in dis)
            {
                if (di.DriveType == DriveType.CDRom)
                {
                    CDInfo cdi = new CDInfo(di.Name);
                    cdromListBox.Items.Add(cdi);
                    ListViewItem i = new ListViewItem("(" + cdi.Name.Trim() + ")" + cdi.VolumeLabel, 0);
                    this.listView1.Items.Add(i);               
                }
            }
        }

        private void cdromListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ///修改状态。
            btISOSave.Enabled = (cdromListBox.SelectedItem != null);
        }

        private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            onloadtrue = false;
            if (toolStripProgressBar1.Value >= toolStripProgressBar1.Minimum && ISOCreater.WorkState == true)
            {
                if (MessageBox.Show("正在工作中,请问是否终止退出?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    ISOCreater.WorkState = false;
                    client.CancelAsync();
                    toolStripProgressBar1.Value = 0;
                    this.Visible = false;
                }
            }
            else
            {
                onloadtrue = false;
                this.Visible = false;
            }
           
        }

        private void TestFtpPath_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("explorer.exe", txtFTPPath.Text);
        }

        private void btExit_Click(object sender, EventArgs e)
        {
            if (toolStripProgressBar1.Value >= toolStripProgressBar1.Minimum&& ISOCreater.WorkState == true)
            {
                if (MessageBox.Show("正在工作中,请问是否终止退出?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    onloadtrue = false;
                    ISOCreater.WorkState = false;
                    btISOSave.Enabled = true;
                  
                    client.CancelAsync();
                    toolStripProgressBar1.Value = 0;
                    this.Visible = false;
                }
            }
            else
            {
                onloadtrue = false;
                this.Visible = false;
            }
        }
        #endregion

        private void txtFTPPath_TextChanged(object sender, EventArgs e)
        {
            DestFilestore = txtFTPPath.Text;
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //修改状态。
            btISOSave.Enabled = (listView1.SelectedItems!= null);
        }

    }

    class CDInfo
    {
        string vol;
        string name;

        public CDInfo(string driveName)
        {
            DriveInfo di = new DriveInfo(driveName);
            try
            {
                name = driveName.Replace("\\", "");
                vol = di.VolumeLabel;
            }
            catch
            {
                vol = "无光盘";
            }
        }

        /// <summary>
        /// 盘符
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }
        }
        /// <summary>
        /// 盘卷标
        /// </summary>
        public string VolumeLabel
        {
            get
            {
                return vol;
            }
        }
        /// <summary>
        /// 供列表容器使用
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return vol;
        }



      
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -