Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks);


            mFileHandle.fileBox.Clear();
            richTextBox_log.Clear();
            if (!CheckState())
            {
                return;
            }

            if (!Directory.Exists(outputPath))
            {
                MessageBox.Show("您的输出目录并不是有效路径!");
                return;
            }
            Console.WriteLine("输出目录:" + outputPath);

            if (Directory.Exists(inputPath))
            {
                Console.WriteLine("输入目录:" + inputPath);
                if (!CheckFormat())
                {
                    return;
                }
                this.Text = "XXTEA解密工具----完全免费!作者QQ:976372587(解密中...勿操作)";
                mFileHandle.DirectoryToFile(inputPath);
            }
            else if (File.Exists(inputPath))
            {
                mFileHandle.FileToDirctory(inputPath);
                Console.WriteLine("输入路径是文件");
                this.Text = "XXTEA解密工具----完全免费!作者QQ:976372587(解密中...勿操作)";
                FileInfo fs = new FileInfo(inputPath);
                if (DecryptFile(inputPath, inputPath.Replace(fs.Directory.ToString(), outputPath)))
                {
                    richTextBox_log.AppendText("解密完成--->" + inputPath.Replace(fs.Directory.ToString(), outputPath) + "\n");
                }
                else
                {
                    richTextBox_log.AppendText("--->解密失败,该文件不是加密文件或写入文件失败!\n");
                }
                richTextBox_log.AppendText("--->解密已全部完成,如有任何疑问或建议请联系作者,支持作者请查看\"关于\"\n");
                this.Text = "XXTEA解密工具----完全免费!作者QQ:976372587(解密完成)";
                return;
            }
            else
            {
                MessageBox.Show("您的输入路径不是有效的目录或文件!");
            }
            //此处开始调用解密函数

            int i = 0;

            foreach (string mInputPath in mFileHandle.fileBox)
            {
                Console.WriteLine("-->输出路径:" + mInputPath.Replace(inputPath, outputPath));
                if (DecryptFile(mInputPath, mInputPath.Replace(inputPath, outputPath)))
                {
                    richTextBox_log.AppendText("解密完成--->" + mInputPath.Replace(inputPath, outputPath) + "\n");
                }
                else
                {
                    i++;
                }
            }
            if (i == 0)
            {
                richTextBox_log.AppendText("全部完成--->总共解密有" + mFileHandle.fileBox.Count + "个文件!\n");
            }
            else
            {
                richTextBox_log.AppendText("全部完成--->总共解密有" + mFileHandle.fileBox.Count + "个文件,其中有" + i + "个文件没有加密或解密失败!\n");
            }
            TimeSpan ts2      = new TimeSpan(DateTime.Now.Ticks);
            TimeSpan ts       = ts2.Subtract(ts1).Duration();                                                           //时间差的绝对值
            string   spanTime = ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒"; //以X小时X分X秒的格式现实执行时间

            richTextBox_log.AppendText("--->解密已全部完成共耗时:" + spanTime + ",如有任何疑问或建议请联系作者,支持作者请查看\"关于\"\n");
            this.Text = "XXTEA解密工具----完全免费!作者QQ:976372587(解密完成)";
        }