初始化上传
This commit is contained in:
108
常用工具集/ViewModels/04破解及系统相关/AdobeAcrobatXI破解ViewModel.cs
Normal file
108
常用工具集/ViewModels/04破解及系统相关/AdobeAcrobatXI破解ViewModel.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Platform;
|
||||
using MES.Utility.Core;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.IO;
|
||||
using Ursa.Controls;
|
||||
using 常用工具集.Base;
|
||||
|
||||
namespace 常用工具集.ViewModel._04破解及系统相关
|
||||
{
|
||||
public class AdobeAcrobatXI破解ViewModel : ViewModelBase
|
||||
{
|
||||
public string FilePath { get; set; } = "";
|
||||
public DelegateCommand FindPathCmd { get; set; }
|
||||
public DelegateCommand CrackCmd { get; set; }
|
||||
|
||||
public AdobeAcrobatXI破解ViewModel()
|
||||
{
|
||||
FindPathCmd = new DelegateCommand(FindPathCmdFunc);
|
||||
CrackCmd = new DelegateCommand(CrackCmdFunc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void FindPathCmdFunc(object obj)
|
||||
{
|
||||
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("Software");
|
||||
registryKey = registryKey.OpenSubKey("Adobe");
|
||||
if (registryKey == null)
|
||||
{
|
||||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||||
return;
|
||||
}
|
||||
registryKey = registryKey.OpenSubKey("Adobe Acrobat");
|
||||
if (registryKey == null)
|
||||
{
|
||||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||||
return;
|
||||
}
|
||||
registryKey = registryKey.OpenSubKey("11.0");
|
||||
if (registryKey == null)
|
||||
{
|
||||
MessageBox.ShowAsync("当前计算机未安装Adobe Acrobat XI");
|
||||
return;
|
||||
}
|
||||
registryKey = registryKey.OpenSubKey("InstallPath");
|
||||
if (registryKey == null)
|
||||
{
|
||||
MessageBox.ShowAsync("获得路径失败,请手动输入路径");
|
||||
return;
|
||||
}
|
||||
string path = registryKey.GetValue("").ToString();
|
||||
FilePath = path;
|
||||
}
|
||||
|
||||
|
||||
private void CrackCmdFunc(object obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
string path = FilePath;
|
||||
if (path.IsNullOrEmpty())
|
||||
{
|
||||
MessageBox.ShowAsync("请查找或者输入Adobe Acrobat XI安装目录");
|
||||
return;
|
||||
}
|
||||
if (!Directory.Exists(path))
|
||||
{
|
||||
MessageBox.ShowAsync("文件夹不存在,破解失败");
|
||||
return;
|
||||
}
|
||||
path = path.Replace("\\", "/");
|
||||
if (!path.EndsWith("/"))
|
||||
path += "/";
|
||||
path += "amtlib.dll";
|
||||
|
||||
byte[] bytes = null;
|
||||
// 获取Pack URI
|
||||
string packUri = "avares://常用工具集/Assets/AcrobatXI/amtlib.dll";
|
||||
// 使用Pack URI打开文件并读取内容
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
MessageBox.ShowAsync("amtlib.dll文件不存在,请手动输入路径");
|
||||
return;
|
||||
}
|
||||
using (Stream stream = AssetLoader.Open(new Uri(packUri)))
|
||||
{
|
||||
bytes = new byte[stream.Length];
|
||||
stream.Read(bytes, 0, bytes.Length);
|
||||
}
|
||||
using (FileStream fs = new FileStream(path, FileMode.Create))
|
||||
{
|
||||
using (BinaryWriter bw = new BinaryWriter(fs))
|
||||
{
|
||||
bw.Write(bytes);
|
||||
}
|
||||
}
|
||||
MessageBox.ShowAsync("破解完成");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.ShowAsync("破解失败:" + ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user