Skip to content

Commit a013de5

Browse files
committed
Added ComboBox to set all native methods.
1 parent 865c602 commit a013de5

File tree

2 files changed

+85
-20
lines changed

2 files changed

+85
-20
lines changed

Forms/PluginForm.Designer.cs

Lines changed: 45 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Forms/PluginForm.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ internal PluginForm(PluginManager pluginManager, NativeHelper nativeHelper)
6262
FillComboBox(writeRemoteMemoryComboBox, NativeHelper.RequestFunction.WriteRemoteMemory);
6363
FillComboBox(disassembleRemoteCodeComboBox, NativeHelper.RequestFunction.DisassembleRemoteCode);
6464
FillComboBox(controlRemoteProcessComboBox, NativeHelper.RequestFunction.ControlRemoteProcess);
65+
66+
setAllComboBox.DisplayMember = nameof(NativeHelper.MethodInfo.Provider);
67+
setAllComboBox.DataSource = nativeHelper.MethodRegistry.Values
68+
.SelectMany(l => l)
69+
.Select(m => m.Provider)
70+
.Distinct()
71+
.ToList();
6572
}
6673

6774
protected override void OnLoad(EventArgs e)
@@ -100,6 +107,39 @@ private void NativeMethodComboBox_SelectionChangeCommitted(object sender, EventA
100107
}
101108
}
102109

110+
private void setAllComboBox_SelectionChangeCommitted(object sender, EventArgs e)
111+
{
112+
var provider = setAllComboBox.SelectedItem as string;
113+
if (provider == null)
114+
{
115+
return;
116+
}
117+
118+
foreach (var cb in new[]
119+
{
120+
enumerateProcessesComboBox,
121+
enumerateRemoteSectionsAndModulesComboBox,
122+
isProcessValidComboBox,
123+
openRemoteProcessComboBox,
124+
closeRemoteProcessComboBox,
125+
readRemoteMemoryComboBox,
126+
writeRemoteMemoryComboBox,
127+
disassembleRemoteCodeComboBox,
128+
controlRemoteProcessComboBox
129+
})
130+
{
131+
var method = cb.Items.OfType<NativeHelper.MethodInfo>().Where(m => m.Provider == provider).FirstOrDefault();
132+
if (method != null)
133+
{
134+
if (cb.SelectedItem != method)
135+
{
136+
cb.SelectedItem = method;
137+
nativeHelper.SetActiveNativeMethod(method);
138+
}
139+
}
140+
}
141+
}
142+
103143
private void getMoreLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
104144
{
105145
Process.Start(Constants.PluginUrl);

0 commit comments

Comments
 (0)