Пример #1
0
        private void openAddressFileToolStripButton_Click(object sender, EventArgs e)
        {
            using (var ofd = new OpenFileDialog())
            {
                ofd.CheckFileExists = true;
                ofd.Filter          = $"All Scanner Types |*{ReClassScanFile.FileExtension};*{CheatEngineFile.FileExtension};*{CrySearchFile.FileExtension}"
                                      + $"|{ReClassScanFile.FormatName} (*{ReClassScanFile.FileExtension})|*{ReClassScanFile.FileExtension}"
                                      + $"|{CheatEngineFile.FormatName} (*{CheatEngineFile.FileExtension})|*{CheatEngineFile.FileExtension}"
                                      + $"|{CrySearchFile.FormatName} (*{CrySearchFile.FileExtension})|*{CrySearchFile.FileExtension}";

                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    IScannerImport import = null;
                    switch (Path.GetExtension(ofd.FileName)?.ToLower())
                    {
                    case ReClassScanFile.FileExtension:
                        import = new ReClassScanFile();
                        break;

                    case CheatEngineFile.FileExtension:
                        import = new CheatEngineFile();
                        break;

                    case CrySearchFile.FileExtension:
                        import = new CrySearchFile();
                        break;

                    default:
                        Program.Logger.Log(LogLevel.Error, $"The file '{ofd.FileName}' has an unknown type.");
                        break;
                    }
                    if (import != null)
                    {
                        if (addressListMemoryRecordList.Records.Any())
                        {
                            if (MessageBox.Show("The address list contains addresses. Do you really want to open the file?", $"{Constants.ApplicationName} Scanner", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                            {
                                return;
                            }
                        }

                        if (import is ReClassScanFile)
                        {
                            addressFilePath = ofd.FileName;
                        }

                        addressListMemoryRecordList.SetRecords(
                            import.Load(ofd.FileName, Program.Logger)
                            .Select(r =>
                        {
                            r.ResolveAddress(Program.RemoteProcess);
                            r.RefreshValue(Program.RemoteProcess);
                            return(r);
                        })
                            );
                    }
                }
            }
        }
Пример #2
0
        private void saveAddressFileToolStripButton_Click(object sender, EventArgs e)
        {
            if (addressListMemoryRecordList.Records.None())
            {
                return;
            }

            if (string.IsNullOrEmpty(addressFilePath))
            {
                saveAsToolStripButton_Click(sender, e);

                return;
            }

            var file = new ReClassScanFile();

            file.Save(addressListMemoryRecordList.Records, addressFilePath, Program.Logger);
        }