/// <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]; SQLiteHelper sqliteH = new SQLiteHelper(Environment.CurrentDirectory + "\\settings\\GameList.sqlite"); List <string> ls = sqliteH.ExecuteReader_OneLine(string.Format("SELECT * FROM gamelist WHERE gameID = '{0}';", res[1]), 8); Common.HookCode = ls[4]; Common.RepeatMethod = ls[7]; Common.srcLang = ls[5]; Common.desLang = ls[6]; 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(ls[3]); 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); } } }
/// <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); } } }
/// <summary> /// 输出事件 /// </summary> /// <param name="sendingProcess"></param> /// <param name="outLine"></param> void OutputHandler(object sendingProcess, DataReceivedEventArgs outLine) { //Console.WriteLine(outLine.Data); Common.AddTextractorHistory(outLine.Data); string[] dealRes = DealTextratorOutput(outLine.Data); if (dealRes != null) { if (dealRes[1] != "Console" && dealRes[1] != "") { //Hook入口选择窗口处理 if (OutputSettingsform != null && OutputSettingsform is TextractorFunSelectForm) { if (TextractorFun_Index_List.ContainsKey(dealRes[2] + dealRes[4]) == true) { TextractorFunSelectForm frm = (TextractorFunSelectForm)OutputSettingsform; frm.TextractorFunDealItem(TextractorFun_Index_List[dealRes[2] + dealRes[4]], dealRes, true); } else { TextractorFun_Index_List.Add(dealRes[2] + dealRes[4], listViewIndex); TextractorFunSelectForm frm = (TextractorFunSelectForm)OutputSettingsform; frm.TextractorFunDealItem(listViewIndex, dealRes, false); listViewIndex++; } } //文本去重窗口处理 if (OutputSettingsform != null && OutputSettingsform is TextRepeatRepairForm) { TextRepeatRepairForm frm = (TextRepeatRepairForm)OutputSettingsform; if (Common.HookCode != "" && dealRes[2] == Common.HookCode && dealRes[4] == Common.HookCodePlus) { frm.TextractorHookContent(dealRes); } } //Hook入口重复确认窗口处理 if (OutputSettingsform != null && OutputSettingsform is TextractorFunReConfirmForm) { TextractorFunReConfirmForm frm = (TextractorFunReConfirmForm)OutputSettingsform; if (Common.HookCode != "" && dealRes[2] == Common.HookCode) { if (TextractorFunPlus_Index_List.ContainsKey(dealRes[4]) == true) { frm.TextractorFunDealItem(TextractorFunPlus_Index_List[dealRes[4]], dealRes, true); } else { TextractorFunPlus_Index_List.Add(dealRes[4], listViewIndex_plus); frm.TextractorFunDealItem(listViewIndex_plus, dealRes, false); listViewIndex_plus++; } } } //游戏翻译窗口处理 //如果Common.HookCodePlus = "NoMulti"则说明没有多重处理,不用再对比HookCodePlus if (GameTransForm != null) { if (Common.HookCode != "" && dealRes[2] == Common.HookCode && (Common.HookCodePlus == "NoMulti" || dealRes[4] == Common.HookCodePlus)) { GameTransForm.TextractorHookContent(dealRes); } } } } }