public ModulesForm(uint processId, string processName, bool isDotNetProcess, DumperCoreWrapper dumperCore) { InitializeComponent(); _process = NativeProcess.Open(processId); if (_process == NativeProcess.InvalidProcess) { throw new InvalidOperationException(); } _isDotNetProcess = isDotNetProcess; _dumperCore = dumperCore; Text = $"{_resources.GetString("StrModules")} {processName}(ID={processId.ToString()})"; typeof(ListView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, lvwModules, new object[] { true }); lvwModules.ListViewItemSorter = new ListViewItemSorter(lvwModules, new List <TypeCode> { TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.UInt64, TypeCode.Int32, TypeCode.String }) { AllowHexLeading = true }; RefreshModuleList(); }
public ModulesForm(uint processId, string processName, bool isDotNetProcess, DumperCoreWrapper dumperCore) { InitializeComponent(); _processId = processId; _isDotNetProcess = isDotNetProcess; _dumperCore = dumperCore; Text = $"{_resources.GetString("StrModules")} {processName}(ID={processId.ToString()})"; mnuOnlyDotNetModule.Checked = isDotNetProcess; typeof(ListView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, lvwModules, new object[] { true }); lvwModules.ListViewItemSorter = new ListViewItemSorter(lvwModules, new Dictionary <int, TypeCode> { { 0, TypeCode.String }, { 1, Cache.Is64BitProcess ? TypeCode.UInt64 : TypeCode.UInt32 }, { 2, TypeCode.Int32 }, { 3, Cache.Is64BitProcess ? TypeCode.UInt64 : TypeCode.UInt32 }, { 4, TypeCode.String } }) { AllowHexLeadingSign = true }; RefreshModuleList(); }