/// <summary> /// 寻找任何正在运行中的之前已保存过的游戏 /// </summary> /// <returns>数组索引(非GameID),-1代表未找到</returns> private int GetGameListHasProcessGame_PID_ID() { var processes = Process.GetProcesses(); var ret = new List <int>(); gameInfoList = GameLibraryHelper.GetAllGameLibrary(); if (gameInfoList != null) { foreach (var process in processes) { for (int j = 0; j < gameInfoList.Count; j++) { string filepath; try { filepath = process.MainModule.FileName; } catch (Win32Exception ex) { continue; } if (filepath == gameInfoList[j].FilePath) { return(j); } } } return(-1); } return(-1); }
/// <summary> /// 寻找任何正在运行中的之前已保存过的游戏 /// </summary> /// <returns>数组索引(非GameID),-1代表未找到</returns> private int GetGameListHasProcessGame_PID_ID() { var ret = new List <int>(); gameInfoList = GameLibraryHelper.GetAllGameLibrary(); if (gameInfoList == null) { return(-1); } foreach (var process in Process.GetProcesses()) { for (int j = 0; j < gameInfoList.Count; j++) { try { if (process.MainModule.FileName == gameInfoList[j].FilePath) { return(j); } } catch (Win32Exception) { continue; } catch (InvalidOperationException) { continue; } } process.Dispose(); } return(-1); }
/// <summary> /// 寻找任何正在运行中的之前已保存过的游戏 /// </summary> /// <returns>游戏gid,-1代表未找到</returns> private int GetGameListHasProcessGame_PID_ID() { Process[] ps = Process.GetProcesses(); List <int> ret = new List <int>(); gameInfolst = GameLibraryHelper.GetAllGameLibrary(); if (gameInfolst != null) { for (int i = 0; i < ps.Length; i++) { for (int j = 0; j < gameInfolst.Count; j++) { string filepath = ""; try { filepath = ps[i].MainModule.FileName; } catch (Win32Exception ex) { continue; } if (filepath == gameInfolst[j].FilePath) { return(j); } } } return(-1); } return(-1); }
private void Button_Click(object sender, RoutedEventArgs e) { if (nameBox.Text != "") { GameLibraryHelper.UpdateGameNameByID(gameInfolst[gid].GameID, nameBox.Text); HandyControl.Controls.MessageBox.Show("已修改,重启后生效!", "提示"); } }
private void Initialize(IAppSettings settings) { this.Resources["Foreground"] = (SolidColorBrush)(new BrushConverter().ConvertFrom(settings.ForegroundHex)); gameInfoList = GameLibraryHelper.GetAllGameLibrary(); Common.repairSettings = new ConfigurationBuilder <IRepeatRepairSettings>().UseIniFile(Environment.CurrentDirectory + "\\settings\\RepairSettings.ini").Build(); GameLibraryPanel_Init(); //先初始化这两个语言,用于全局OCR识别 Common.UsingDstLang = "zh"; Common.UsingSrcLang = "jp"; }
/// <summary> /// 删除游戏按钮事件 /// </summary> private void DeleteGameBtn_Click(object sender, RoutedEventArgs e) { if (HandyControl.Controls.MessageBox.Show(Application.Current.Resources["MainWindow_Drawer_DeleteGameConfirmBox"].ToString(), Application.Current.Resources["MessageBox_Ask"].ToString(), MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { GameLibraryHelper.DeleteGameByID(gameInfoList[gid].GameID); var b = GameLibraryPanel.FindName($"game{gid}") as Border; GameLibraryPanel.Children.Remove(b); GameInfoDrawer.IsOpen = false; } }
private void NameConfirmBtn_Click(object sender, RoutedEventArgs e) { if (nameBox.Text != "") { GameLibraryHelper.UpdateGameNameByID(gameInfolst[gid].GameID, nameBox.Text); nameBox.Visibility = Visibility.Hidden; nameConfirmBtn.Visibility = Visibility.Hidden; HandyControl.Controls.MessageBox.Show("已修改,重启后生效!", "提示"); } }
/// <summary> /// 删除游戏按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteGameBtn_Click(object sender, RoutedEventArgs e) { if (HandyControl.Controls.MessageBox.Show("您是否确认要将此游戏从您的游戏库中移除?\r\n这个操作不会删除您的游戏文件,但下次进行这个游戏时需要重新设置相关参数。", "确认删除", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { GameLibraryHelper.DeleteGameByID(gameInfolst[gid].GameID); Border b = GameLibraryPanel.FindName("game" + gid) as Border; GameLibraryPanel.Children.Remove(b); GameInfoDrawer.IsOpen = false; } }
private void InitializeAppearance() { gameInfolst = GameLibraryHelper.GetAllGameLibrary(); Common.appSettings = new ConfigurationBuilder <IAppSettings>().UseIniFile(Environment.CurrentDirectory + "\\settings\\settings.ini").Build(); Common.repairSettings = new ConfigurationBuilder <IRepeatRepairSettings>().UseIniFile(Environment.CurrentDirectory + "\\settings\\RepairSettings.ini").Build(); GameLibraryPanel_Init(); ISettings settings = new ConfigurationBuilder <ISettings>().UseJsonFile("settings/settings.json").Build(); this.Resources["Foreground"] = (SolidColorBrush)(new BrushConverter().ConvertFrom(settings.ForegroundHex)); }
private void ConfirmButton_Click(object sender, RoutedEventArgs e) { if (GamePid != -1) { if (SameNameGameProcessList.Count == 1) { Common.textHooker = new TextHookHandle(lstProcess[(string)GameProcessCombox.SelectedValue]); } else { Common.textHooker = new TextHookHandle(SameNameGameProcessList); } if (!Common.textHooker.Init(!(bool)x64GameCheckBox.IsChecked)) { HandyControl.Controls.MessageBox.Show(Application.Current.Resources["MainWindow_TextractorError_Hint"].ToString()); return; } Common.GameID = -1; string filepath = ProcessHelper.FindProcessPath(GamePid); if (filepath != "") { Common.GameID = GameLibraryHelper.GetGameID(filepath); } SQLHelper sqliteH = new SQLHelper(); sqliteH.ExecuteSql( $"UPDATE game_library SET isx64 = '{x64GameCheckBox.IsChecked}' WHERE gameid = {Common.GameID};"); //使用路由事件机制通知窗口来完成下一步操作 PageChangeRoutedEventArgs args = new PageChangeRoutedEventArgs(PageChange.PageChangeRoutedEvent, this); args.XamlPath = "GuidePages/Hook/ChooseHookFuncPage.xaml"; this.RaiseEvent(args); } else { HandyControl.Controls.Growl.Error(Application.Current.Resources["ChooseGamePage_NextErrorHint"].ToString()); } }
private void ConfirmButton_Click(object sender, RoutedEventArgs e) { if (GamePid != -1) { if (SameNameGameProcessList.Count == 1) { Common.textHooker = new TextHookHandle(lstProcess[(string)GameProcessCombox.SelectedValue]); } else { Common.textHooker = new TextHookHandle(SameNameGameProcessList); } Common.textHooker.Init(!(bool)x64GameCheckBox.IsChecked); Common.GameID = -1; string filepath = Common.FindProcessPath(GamePid); if (filepath != "") { Common.GameID = GameLibraryHelper.GetGameID(filepath); } SQLHelper sqliteH = new SQLHelper(); sqliteH.ExecuteSql(string.Format("UPDATE game_library SET isx64 = '{0}' WHERE gameid = {1};", x64GameCheckBox.IsChecked, Common.GameID)); //使用路由事件机制通知窗口来完成下一步操作 PageChangeRoutedEventArgs args = new PageChangeRoutedEventArgs(PageChange.PageChangeRoutedEvent, this); args.XamlPath = "GuidePages/Hook/ChooseHookFuncPage.xaml"; this.RaiseEvent(args); } else { HandyControl.Controls.Growl.Error("请先选择一个进程再进行下一步操作!"); } }