/// <summary> /// 开始注入,会判断是否自动注入 /// </summary> public async void StartHook() { if (HandleMode == 1) { await AttachProcess(GamePID); } else if (HandleMode == 2) { if (Convert.ToBoolean(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Textractor", "AutoHook", "false"))) { //不进行智能注入 for (int i = 0; i < PossibleGameProcessList.Count; i++) { var item = PossibleGameProcessList.ElementAt(i); await AttachProcess(item.Key.Id); PossibleGameProcessList[item.Key] = true; } } else { await AttachProcess(MaxMemoryProcess.Id); } } }
private void TranslateFrmSettingsForm_Load(object sender, EventArgs e) { FontList = new List <string>(); System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection(); foreach (System.Drawing.FontFamily family in fonts.Families) { FontList.Add(family.Name); } FontsCombox.DropDownStyle = ComboBoxStyle.DropDownList; FontsCombox.DataSource = FontList; SetPartList = new List <string>(); SetPartList.Add("原文"); SetPartList.Add("第一翻译源"); SetPartList.Add("第二翻译源"); PartCombox.DropDownStyle = ComboBoxStyle.DropDownList; PartCombox.DataSource = SetPartList; lastPartChoose = 0; PartCombox.SelectedIndex = 0; OpacityTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "opacity", "50")); FontsCombox.Text = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextFont", "微软雅黑"); TextSizeBox.Num = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextsize", "12")); ColorRTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorR", "0")); ColorGTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorG", "0")); ColorBTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorB", "0")); }
Color secondTransTextColor; //第二翻译源结果颜色 /// <summary> /// UI初始化、翻译API初始化、如果是OCR模式则Hook鼠标点击事件 /// </summary> private void InitUI() { srcTextLabel = new Label(); srcTextLabel.AutoSize = false; srcTextLabel.Text = "等待源文本"; srcTextLabel.BackColor = TransparencyColor; //背景色透明 srcTextLabel.TextAlign = ContentAlignment.TopLeft; firstTransTextLabel = new Label(); firstTransTextLabel.AutoSize = false; firstTransTextLabel.Text = "等待源文本"; firstTransTextLabel.BackColor = TransparencyColor; //背景色透明 firstTransTextLabel.TextAlign = ContentAlignment.TopLeft; secondTransTextLabel = new Label(); secondTransTextLabel.AutoSize = false; secondTransTextLabel.Text = "等待源文本"; secondTransTextLabel.BackColor = TransparencyColor; //背景色透明 secondTransTextLabel.TextAlign = ContentAlignment.TopLeft; LabelInit(); this.Controls.Add(srcTextLabel); this.Controls.Add(firstTransTextLabel); this.Controls.Add(secondTransTextLabel); this.FormBorderStyle = FormBorderStyle.None; this.SizeChanged += GameTranslateForm_SizeChanged; this.FormClosing += GameTranslateForm_FormClosing; BaiduTranslator.BaiduTrans_Init(); TencentTranslator.TencentTrans_Init(); TencentOldTranslator.TencentOldTrans_Init(); if (Common.TransMode == 2) { BaiduGeneralOCRBasic.BaiduGeneralOCRBasic_Init(); //初始化钩子对象 if (hook == null) { hook = new GlobalMouseHook(); hook.OnMouseActivity += new MouseEventHandler(Hook_OnMouseActivity); } IsOCRingFlag = false; bool r = hook.Start(); if (r == false) { MessageBox.Show("安装钩子失败!"); } } TextFontColorInit(); firstTransAPI = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "FirstTranslator", "NoTranslate"); secondTransAPI = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "SecondTranslator", "NoTranslate"); }
public static Queue <string> TextractorOutPutHistory; //全局的Textractor的输出记录,用于查错 /// <summary> /// 得到一个游戏的游戏ID,用于在GameListInfo.ini中对对应游戏进行个性化设置 /// 如果游戏已经存在于GameList.txt,则直接返回ID,否则追加新游戏路径并返回新ID /// </summary> /// <param name="gamepath"></param> /// <returns></returns> public static int GetGameID(string gamepath) { if (File.Exists("GameList.txt") == false) { File.Create("GameList.txt").Close(); } string[] res = File.ReadAllLines("GameList.txt"); for (int i = 0; i < res.Length; i = i + 2) { if (res[i] == gamepath) { return(int.Parse(res[i + 1])); } } FileStream fs = new FileStream("GameList.txt", FileMode.Append); StreamWriter sw = new StreamWriter(fs); int newid = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "AllGame", "GameNum", "0")) + 1; IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "AllGame", "GameNum", "" + newid); sw.WriteLine(gamepath); sw.WriteLine(newid); sw.Flush(); sw.Close(); fs.Close(); return(newid); }
/// <summary> /// 句子重复处理 /// </summary> /// <param name="source"></param> /// <returns></returns> public static string RepairFun_RemoveSentenceRepeat(string source) { if (source == "") { return(""); } int findNum = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\TextRepeatRepair.ini", "RepairFun_RemoveSentenceRepeat", "FindCharNum", "4"));; char[] arr = source.ToCharArray(); Array.Reverse(arr); string text = new string(arr); string cmp = ""; for (int i = 1; i <= findNum; i++) { cmp = cmp + text[i]; } int pos = text.IndexOf(cmp, findNum); if (pos == -1) { return("句子去重出错"); } string t1 = text.Remove(pos, text.Length - pos); char[] arr1 = t1.ToCharArray(); Array.Reverse(arr1); string ret = new string(arr1); return(ret); }
/* * 根据猜测得到的DLL函数 来源 https://github.com/Artikash/VNR-Core/blob/6ed038bda9dcd35696040bd45d31afa6a30e8978/py/libs/jbeijing/jbjct.py * int __cdecl JC_Transfer_Unicode( * HWND hwnd, * UINT fromCodePage, * UINT toCodePage, * int unknown, * int unknown, * LPCWSTR from, * LPWSTR to, * int &toCapacity, * LPWSTR buffer, * int &bufferCapacity) */ /// <summary> /// 调用JBeijing离线翻译 日语转中文 /// </summary> /// <param name="sourceString">源语句</param> /// <param name="issimplified">为真则翻译结果为简体中文</param> /// <returns></returns> public static string Translate_JapanesetoChinese(string sourceString, bool issimplified = true) { string JBeijingTranslatorPath = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "JBeijing", "JBJCTDllPath"); if (JBeijingTranslatorPath == "") { return(null); } /* * CP932 SAP Shift-JIS * CP950 SAP 繁体中文 * CP936 SAP 简体中文 */ int desCP; if (issimplified == true) { desCP = 936; } else { desCP = 950; } string path = Environment.CurrentDirectory; Environment.CurrentDirectory = JBeijingTranslatorPath; IntPtr jp = Marshal.StringToHGlobalUni(sourceString); IntPtr jp2 = Marshal.AllocHGlobal(3000); IntPtr jp3 = Marshal.AllocHGlobal(3000); int p1 = 1500; int p2 = 1500; try { int a = JC_Transfer_Unicode(0, 932, (uint)desCP, 1, 1, jp, jp2, ref p1, jp3, ref p2); } catch (Exception ex) { throw ex; } Environment.CurrentDirectory = path; string ret = Marshal.PtrToStringAuto(jp2); Marshal.FreeHGlobal(jp); Marshal.FreeHGlobal(jp2); Marshal.FreeHGlobal(jp3); return(ret); }
/// <summary> /// 处理单字重复 /// 可以设置重复次数更准确的进行去重 /// </summary> /// <param name="source"></param> /// <returns></returns> public static string RepairFun_RemoveSingleWordRepeat(string source) { if (source == "") { return(""); } int repeatTimes = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\TextRepeatRepair.ini", "RepairFun_RemoveSingleWordRepeat", "RepeatTimes", "0")); int flag = 0; string ret = ""; if (repeatTimes <= 2) { //未设置固定重复次数时,逢重复就删 for (int i = 1; i < source.Length; i++) { if (source[i] != source[flag]) { ret += source[flag]; flag = i; } } ret += source[source.Length - 1]; } else { //设置了固定重复次数且重复次数大于等于3的情况 int r = 0; for (int i = 1; i < source.Length; i++) { if (source[i] == source[flag]) { r++; if (r > repeatTimes) { ret += source[i]; r = 0; } } else { ret += source[flag]; flag = i; r = 0; } } ret += source[source.Length - 1]; } return(ret); }
public static bool BaiduGeneralOCRBasic_Init() { APIKey = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduOCR", "APIKEY", ""); secretKey = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduOCR", "SecretKey", ""); string ret = BaiduGetToken(APIKey, secretKey); BaiduTokenOutInfo btoi = JsonConvert.DeserializeObject <BaiduTokenOutInfo>(ret); if (btoi.access_token != null) { accessToken = btoi.access_token; return(true); } return(false); }
/// <summary> /// 自动开始游戏按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AutoStartBtn_BtnClick(object sender, EventArgs e) { List <int> res = GetGameListHasProcessGame_PID_ID(); if (res == null) { MessageBox.Show("未找到任何正在运行中的已保存游戏", "提示"); } else { Common.TransMode = 1; Common.GameID = res[1]; Common.HookCode = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "Game" + Common.GameID, "hookCode"); Common.RepeatMethod = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "Game" + Common.GameID, "RepeatMethod"); Common.srcLang = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "Game" + Common.GameID, "srcLang"); Common.desLang = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "Game" + Common.GameID, "dstLang"); List <Process> proList = FindSameNameProcess(res[0]); if (proList.Count == 1) { Common.TextractorHandle = new TextHookHandle(proList[0].Id); } else { Common.TextractorHandle = new TextHookHandle(proList); } Common.TextractorHandle.Init(); bool isFunReSelect = Convert.ToBoolean(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\GameListInfo.ini", "Game" + Common.GameID, "isHookFunMulti", "False")); if (isFunReSelect == true) { TextractorFunReConfirmForm tfcf = new TextractorFunReConfirmForm(); Common.TextractorHandle.StartHook(); Common.TextractorHandle.SetSettingsOutPutform(tfcf); tfcf.Show(); } else { Common.HookCodePlus = "NoMulti";//提示无重复码。直接进游戏 GameTranslateForm gtf = new GameTranslateForm(); Common.TextractorHandle.StartHook(); Common.TextractorHandle.SetGameTransForm(gtf); GameTranslateBackForm.Show(gtf); } } }
public GameTranslateForm() { string color = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "BackColor", "Noset"); if (color == "Noset") { TransparencyColor = Color.AliceBlue; } else { TransparencyColor = Color.FromArgb(int.Parse(color)); } InitUI(); this.Load += GameTranslateForm_Load; }
/// <summary> /// 加载窗口时初始化所有标签的字体颜色信息,从INI文件读取 /// </summary> public void TextFontColorInit() { srcTextFont = new Font( IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextFont", "微软雅黑"), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextsize", "12")) ); firstTransTextFont = new Font( IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextFont", "微软雅黑"), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextsize", "12")) ); secondTransTextFont = new Font( IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextFont", "微软雅黑"), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextsize", "12")) ); srcTextColor = Color.FromArgb( int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorR", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorG", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorB", "0")) ); firstTransTextColor = Color.FromArgb( int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorR", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorG", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorB", "0")) ); secondTransTextColor = Color.FromArgb( int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorR", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorG", "0")), int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorB", "0")) ); srcTextLabel.Font = srcTextFont; srcTextLabel.ForeColor = srcTextColor; firstTransTextLabel.Font = firstTransTextFont; firstTransTextLabel.ForeColor = firstTransTextColor; secondTransTextLabel.Font = secondTransTextFont; secondTransTextLabel.ForeColor = secondTransTextColor; }
private void ApplicationSettingsForm_Load(object sender, EventArgs e) { MenuInit(); BDOCRapikeyTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduOCR", "APIKEY", ""); BDOCRsecretkeyTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduOCR", "SecretKey", ""); BDappidTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduTranslator", "appID", ""); BDKeyTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduTranslator", "secretKey", ""); TXappidTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentTranslator", "appID", ""); TXKeyTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentTranslator", "appKey", ""); TXOappidTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentOldTranslator", "SecretId", ""); TXOKeyTextBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentOldTranslator", "SecretKey", ""); JBjPathBox.InputText = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "JBeijing", "JBJCTDllPath"); AutoHookCheckBox.Checked = Convert.ToBoolean(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Textractor", "AutoHook", "False")); EachRowTransCheckBox.Checked = Convert.ToBoolean(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "EachRowTrans", "True")); List <KeyValuePair <string, string> > transApiSrc = GetAllTranslateAPI(); FirstTransCombox.Source = transApiSrc; SecondTransCombox.Source = transApiSrc; FirstTransCombox.BoxStyle = ComboBoxStyle.DropDownList; SecondTransCombox.BoxStyle = ComboBoxStyle.DropDownList; string first = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "FirstTranslator", "NoTranslate"); string second = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "SecondTranslator", "NoTranslate"); for (int i = 0; i < transApiSrc.Count; i++) { if (transApiSrc[i].Key == first) { FirstTransCombox.SelectedIndex = i; } if (transApiSrc[i].Key == second) { SecondTransCombox.SelectedIndex = i; } } }
public static string appKey; //腾讯翻译君API 密钥 public static void TencentTrans_Init() { appId = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentTranslator", "appID"); appKey = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentTranslator", "appKey"); }
public static string secretKey; //百度翻译API 的密钥 public static void BaiduTrans_Init() { appId = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduTranslator", "appID"); secretKey = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "BaiduTranslator", "secretKey"); }
public static string SecretKey; //腾讯旧版API SecretKey public static void TencentOldTrans_Init() { SecretId = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentOldTranslator", "SecretId"); SecretKey = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TencentOldTranslator", "SecretKey"); }
private void PartCombox_SelectedIndexChanged(object sender, EventArgs e) { if (openflag != true) { if (lastPartChoose == 0) { IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorR", "" + ColorRTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorG", "" + ColorGTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorB", "" + ColorBTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextFont", FontsCombox.Text); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextsize", "" + TextSizeBox.Num); } else if (lastPartChoose == 1) { IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorR", "" + ColorRTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorG", "" + ColorGTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorB", "" + ColorBTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextFont", FontsCombox.Text); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextsize", "" + TextSizeBox.Num); } else if (lastPartChoose == 2) { IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorR", "" + ColorRTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorG", "" + ColorGTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorB", "" + ColorBTrackBar.Value); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextFont", FontsCombox.Text); IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextsize", "" + TextSizeBox.Num); } if (PartCombox.SelectedIndex == 0) { ColorRTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorR", "0")); ColorGTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorG", "0")); ColorBTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextColorB", "0")); FontsCombox.Text = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextFont", "微软雅黑"); TextSizeBox.Num = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "srcTextsize", "12")); } else if (PartCombox.SelectedIndex == 1) { ColorRTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorR", "0")); ColorGTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorG", "0")); ColorBTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextColorB", "0")); FontsCombox.Text = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextFont", "微软雅黑"); TextSizeBox.Num = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "firstTransTextsize", "12")); } else if (PartCombox.SelectedIndex == 2) { ColorRTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorR", "0")); ColorGTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorG", "0")); ColorBTrackBar.Value = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextColorB", "0")); FontsCombox.Text = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextFont", "微软雅黑"); TextSizeBox.Num = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "secondTransTextsize", "12")); } lastPartChoose = PartCombox.SelectedIndex; } else { openflag = false; } }
/// <summary> /// 背景窗口的静态方法,用于显示一个背景窗口 /// </summary> /// <param name="frmTop">与其叠加的前景窗口</param> public static void Show(GameTranslateForm frmTop) { //弹出菜单设置 MaterialSkin.Controls.MaterialContextMenuStrip FunMenuStrip = new MaterialSkin.Controls.MaterialContextMenuStrip(); ToolStripMenuItem LockItem = new ToolStripMenuItem(); ToolStripMenuItem SettingsItem = new ToolStripMenuItem(); ToolStripMenuItem ReNewOCRItem = new ToolStripMenuItem(); ToolStripMenuItem HistoryTextItem = new ToolStripMenuItem(); ToolStripMenuItem ExitTransFrmItem = new ToolStripMenuItem(); ToolStripMenuItem ShowsrcTextFrmItem = new ToolStripMenuItem(); FunMenuStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); FunMenuStrip.Depth = 0; FunMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { LockItem, SettingsItem, ReNewOCRItem, HistoryTextItem, ShowsrcTextFrmItem, ExitTransFrmItem }); FunMenuStrip.MouseState = MaterialSkin.MouseState.HOVER; FunMenuStrip.ShowImageMargin = false; FunMenuStrip.Size = new System.Drawing.Size(156, 136); // // 加锁解锁 // LockItem.Size = new System.Drawing.Size(155, 22); LockItem.Text = "加锁/解锁"; LockItem.Click += LockItem_Click; // // 设置 // SettingsItem.Size = new System.Drawing.Size(155, 22); SettingsItem.Text = "设置"; SettingsItem.Click += SettingsItem_Click; // // 刷新OCRToolStripMenuItem // ReNewOCRItem.Size = new System.Drawing.Size(155, 22); ReNewOCRItem.Text = "刷新OCR"; ReNewOCRItem.Click += ReNewOCRItem_Click; // // 历史文本ToolStripMenuItem // HistoryTextItem.Size = new System.Drawing.Size(155, 22); HistoryTextItem.Text = "历史文本"; HistoryTextItem.Click += HistoryTextItem_Click; // // 退出翻译ToolStripMenuItem // ExitTransFrmItem.Size = new System.Drawing.Size(155, 22); ExitTransFrmItem.Text = "退出翻译"; ExitTransFrmItem.Click += ExitTransFrmItem_Click; // // 显示原文ToolStripMenuItem // ShowsrcTextFrmItem.Size = new System.Drawing.Size(155, 22); ShowsrcTextFrmItem.Text = "显示/隐藏原文"; ShowsrcTextFrmItem.Click += ShowSrcTextItem_Click; top = frmTop; // 背景窗体设置 GameTranslateBackForm frmBack = new GameTranslateBackForm(); top.SetBackForm(frmBack); back = frmBack; double frmBackOpacity = (double)(double.Parse( IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "opacity", "50")) / 100); frmBack.Text = "MisakaTranslator游戏翻译窗口"; frmBack.FormBorderStyle = FormBorderStyle.None; frmBack.MaximizeBox = false; int LocX = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "LocX", "-1")); int LocY = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "LocY", "-1")); int SizeW = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "SizeW", "-1")); int SizeH = int.Parse(IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "SizeH", "-1")); if (LocX == -1 && LocY == -1) { frmBack.StartPosition = FormStartPosition.CenterScreen; } else { frmBack.Location = new Point(LocX, LocY); frmBack.StartPosition = FormStartPosition.Manual; frmBack.Width = SizeW; frmBack.Height = SizeH; } frmBack.ShowIcon = false; frmBack.ShowInTaskbar = false; frmBack.Opacity = frmBackOpacity; string color = IniFileHelper.ReadItemValue(Environment.CurrentDirectory + "\\settings.ini", "TranslateFormSettings", "BackColor", "Noset"); if (color == "Noset") { frmBack.BackColor = Color.LightGray; } else { frmBack.BackColor = Color.FromArgb(int.Parse(color)); } frmBack.ContextMenuStrip = FunMenuStrip; // 顶部窗体设置 frmTop.Owner = frmBack; frmBack.SizeChanged += GameTranslateBackForm_SizeLocationChanged; frmBack.LocationChanged += GameTranslateBackForm_SizeLocationChanged; frmBack.MouseDoubleClick += GameTranslateBackForm_DoubleClick; frmBack.FormClosing += GameTranslateBackForm_FormClosing; frmBack.TopMost = true; frmTop.TopMost = true; isLock = true; isShowSrcText = true; // 显示窗体 frmTop.Show(); frmBack.Show(); }