@@ -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