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

📄 formprepare.cs

📁 工作时用C#编写的WPS密码测试工具,主要用于测试与MSO文件兼容(IO)而写的.功能主要是由MSO文件加密.WPS打开,再由WPS加密,再由MSO打开.每个加密都是根据文件加密类型来加的,此代码.与
💻 CS
📖 第 1 页 / 共 3 页
字号:
					else
					{
						this.OFDlgFiles.InitialDirectory = m_strInFile;
						this.OFDlgFiles.FileName = String.Empty;
					}
				}
			}
			else
			{
				this.OFDlgFiles.InitialDirectory = m_strInFile;
				this.OFDlgFiles.FileName = String.Empty;
			}
			if(this.OFDlgFiles.ShowDialog(this) == DialogResult.OK)
				this.txtInFile.Text = this.OFDlgFiles.FileName;
		}
        /// <summary>
        /// 输出路径按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOutPath_Click(object sender, System.EventArgs e)
        {
            string _strTmp = IOIntegrate.GetDateKeyWord(m_strInPath);
            if(Directory.Exists(_strTmp))
                this.FBDlgOutPath.SelectedPath = _strTmp;
            if(this.FBDlgOutPath.ShowDialog(this) == DialogResult.OK)
            {
                _strTmp = this.FBDlgOutPath.SelectedPath;
                if(!_strTmp.EndsWith(@"\"))
                    this.txtOutPath.Text = _strTmp + @"\";
                else
                    this.txtOutPath.Text = _strTmp;
            }
        }
        /// <summary>
        /// 文件测试进度
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void m_pPlugInClsMain_OnFileTesting(object sender, FileTestArgs e)
        {
            this.Text = m_strCaption + " " + e.PassCount.ToString() + "(" + e.FailCount.ToString() + ")/" +
                e.TotleCount.ToString();
            if(e.Finished)
            {
                this.btnExecute.Enabled = true;
                this.btnExit.Enabled = true;
                this.btnInFile.Enabled = true;
                this.btnOutPath.Enabled = true;
                this.btnSave.Enabled = true;
                this.MdiParent.WindowState = FormWindowState.Normal;
            }
        }
        /// <summary>
        /// 窗体大小改变事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormExecute_Resize(object sender, EventArgs e)
        {
			this.cHFileName.Width =  this.lvFileList.Width - 142;
        }
        /// <summary>
        /// 测试项目更改事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cbTestProject_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            m_nTestProject = this.cbTestProject.SelectedIndex;
        }
        /// <summary>
        /// 测试过程中是否显示程序主窗体改变的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chbShowWin_CheckedChanged(object sender, System.EventArgs e)
        {
            if(m_blShowWin && this.chbShowWin.Checked)
                m_blShowWin = true;
            else if(!m_blShowWin && !this.chbShowWin.Checked)
                m_blShowWin = false;
            else if(m_blShowWin && !this.chbShowWin.Checked)
                m_blShowWin = false;
            else
                m_blShowWin = true;
        }
        #endregion

        #region 程序启动和关闭事件
        /// <summary>
        /// 程序启动事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormExecute_Load(object sender, System.EventArgs e)
        {
            ReadConfig();
        }
        /// <summary>
        /// 程序关闭事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormExecute_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            SaveConfig();
        }
        #endregion

        #region 读取和保存配置
        /// <summary>
        /// 读取配置
        /// </summary>
        /// <returns>返回读取是否成功</returns>
        private bool ReadConfig()
        {
			this.cbTestProject.SelectedIndex = 0;
            XmlDocument m_pXmlDocu = new XmlDocument();
            if(File.Exists(m_strCfgFileName))
            {
                m_pXmlDocu.Load(m_strCfgFileName);
                XmlElement m_pDocuRootEle = m_pXmlDocu.DocumentElement;
                // 读取选项设置信息[4/6/2005]
                XmlNode m_pXmlOptionNode = m_pDocuRootEle.SelectSingleNode("PasswordTest/Option");
                if(m_pXmlOptionNode != null)
                {
                    XmlNode _pXmlTmpNode = m_pXmlOptionNode.SelectSingleNode("TestProject");
                    if(_pXmlTmpNode != null)
                        this.cbTestProject.SelectedIndex = Convert.ToInt32(_pXmlTmpNode.InnerText);
                    _pXmlTmpNode = m_pXmlOptionNode.SelectSingleNode("ShowWin");
                    if(_pXmlTmpNode != null && _pXmlTmpNode.InnerText == "True")
                        this.chbShowWin.Checked = true;
                    _pXmlTmpNode = m_pXmlOptionNode.SelectSingleNode("InFile");
                    if(_pXmlTmpNode != null)
                        m_strInFile = _pXmlTmpNode.InnerText;
					_pXmlTmpNode = m_pXmlOptionNode.SelectSingleNode("InPath");
					if(_pXmlTmpNode != null)
						m_strInPath = _pXmlTmpNode.InnerText;
					_pXmlTmpNode = m_pXmlOptionNode.SelectSingleNode("OutPath");
                    if(_pXmlTmpNode != null)
                        m_strOutPath = _pXmlTmpNode.InnerText;
                }
                XmlNode m_pXmlFileListNode = m_pDocuRootEle.SelectSingleNode("PasswordTest/Files");
                if(m_pXmlFileListNode != null)
                {
                    foreach(XmlNode _pXmlSubNode in m_pXmlFileListNode.SelectNodes("File"))
                    {
                        LoggerInf _pLogInf = new LoggerInf(_pXmlSubNode.LocalName, _pXmlSubNode.InnerText);
                        _pLogInf.LogNodeAttrs.Add(new LogNodeAttr("ID",
                            _pXmlSubNode.Attributes["ID"].Value));
                        _pLogInf.LogNodeAttrs.Add(new LogNodeAttr("FileName",
                            _pXmlSubNode.Attributes["FileName"].Value));
                        m_pLogInfs.SubLoggerInfs.Add(_pLogInf);
                        string[] _strFile = {_pXmlSubNode.Attributes["ID"].Value, 
                        _pXmlSubNode.Attributes["FileName"].Value, _pXmlSubNode.InnerText};
                        ListViewItem _pLvItem = new ListViewItem(_strFile);
                        this.lvFileList.Items.Add(_pLvItem);
                    }
                }
                this.txtInFile.Text = m_strInFile;
                this.txtOutPath.Text = m_strInPath;
                return true;
            }
            else
                return false;
        }
        /// <summary>
        /// 保存配置
        /// </summary>
        private void SaveConfig()
        {
            LoggerInf m_pTotalLogInf = new LoggerInf("PasswordTest", String.Empty);
            LoggerInf _pOptionInf = new LoggerInf("Option", String.Empty);
            _pOptionInf.SubLoggerInfs.Add(new LoggerInf("TestProject", m_nTestProject.ToString()));
            _pOptionInf.SubLoggerInfs.Add(new LoggerInf("ShowWin", m_blShowWin.ToString()));
            _pOptionInf.SubLoggerInfs.Add(new LoggerInf("InFile", m_strInFile));
            _pOptionInf.SubLoggerInfs.Add(new LoggerInf("InPath", m_strInPath));
			_pOptionInf.SubLoggerInfs.Add(new LoggerInf("OutPath", m_strOutPath));
            m_pTotalLogInf.SubLoggerInfs.Add(_pOptionInf);
            m_pTotalLogInf.SubLoggerInfs.Add(m_pLogInfs);
            m_pLoggerMain.LoggerOut(m_pTotalLogInf);
        }
        #endregion

        #region 各项目的密码测试函数
        /// <summary>
        /// WORD项目的密码测试
        /// </summary>
        private void WORDPasswordTest()
        {
            PlugInClassWORDMain m_pPlugInClsMain = new PlugInClassWORDMain();
			m_pPlugInClsMain.SetCaptureException = m_pCapEx;
			m_pPlugInClsMain.OnFileTesting += new FileTestProgress(m_pPlugInClsMain_OnFileTesting);
            m_pPlugInClsMain.ShowWin = m_blShowWin;
            m_pPlugInClsMain.CharPassFileName = m_strCharPassFileName;
            m_pPlugInClsMain.InFile = IOIntegrate.GetDateKeyWord(m_strInFile);
            m_pPlugInClsMain.OutPath = IOIntegrate.GetDateKeyWord(m_strInPath);
            m_pLogInfs = m_pPlugInClsMain.ExcuteTest_Entry();
        }
		/// <summary>
		/// PPT项目的密码测试
		/// </summary>
		private void PPTPasswordTest()
		{
			PlugInClassPPTMain m_pPlugInClsMain = new PlugInClassPPTMain();
			m_pPlugInClsMain.SetCaptureException = m_pCapEx;
			m_pPlugInClsMain.OnFileTesting += new FileTestProgress(m_pPlugInClsMain_OnFileTesting);
			m_pPlugInClsMain.ShowWin = m_blShowWin;
			m_pPlugInClsMain.CharPassFileName = m_strCharPassFileName;
			m_pPlugInClsMain.InFile = IOIntegrate.GetDateKeyWord(m_strInFile);
			m_pPlugInClsMain.OutPath = IOIntegrate.GetDateKeyWord(m_strInPath);
			m_pLogInfs = m_pPlugInClsMain.ExcuteTest_Entry();
		}
		/// <summary>
        /// EXCEL项目的密码测试
        /// </summary>
        private void EXCELPasswordTest()
        {
            PlugInClassEXCELMain m_pPlugInClsMain = new PlugInClassEXCELMain();
			m_pPlugInClsMain.SetCaptureException = m_pCapEx;
			m_pPlugInClsMain.OnFileTesting += new FileTestProgress(m_pPlugInClsMain_OnFileTesting);
            m_pPlugInClsMain.ShowWin = m_blShowWin;
            m_pPlugInClsMain.CharPassFileName = m_strCharPassFileName;
			m_pPlugInClsMain.InFile = IOIntegrate.GetDateKeyWord(m_strInFile);
			m_pPlugInClsMain.OutPath = IOIntegrate.GetDateKeyWord(m_strInPath);
			m_pLogInfs = m_pPlugInClsMain.ExcuteTest_Entry();
		}
        #endregion

		#region 测试准备完毕后更新文件列表
		/// <summary>
		/// 更新文件列表
		/// </summary>
		private void UpdateFileList()
		{
			this.lvFileList.Items.Clear();
			foreach(LoggerInf _pFileInf in m_pLogInfs.SubLoggerInfs)
			{
				string[] _strFile = {((LogNodeAttr)_pFileInf.LogNodeAttrs[0]).AttrValue, 
				((LogNodeAttr)_pFileInf.LogNodeAttrs[1]).AttrValue, _pFileInf.ActionResult};
				ListViewItem _pLvItem = new ListViewItem(_strFile);
				this.lvFileList.Items.Add(_pLvItem);
			}
		}
		#endregion
    }
}

⌨️ 快捷键说明

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