public GlobalKeyForm(ShadowsocksController controller) { InitializeComponent(); this.controller = controller; h.Regist(this.Handle, (int)HotKeys.HotkeyModifiers.Control, Keys.F12, CallBack); //MessageBox.Show("注册成功"); }
private bool TryRegHotkey(TextBox tb) { var hotkey = HotKeys.Str2HotKey(tb.Text); if (hotkey == null) { MessageBox.Show(string.Format(I18N.GetString("Cannot parse hotkey: {0}"), tb.Text)); tb.Clear(); return(false); } HotKeys.HotKeyCallBackHandler callBack; Label lb; PrepareForHotkey(tb, out callBack, out lb); UnregPrevHotkey(callBack); // try to register keys // if already registered by other progs // notify to change // use the corresponding label color to indicate // reg result. // Green: not occupied by others and operation succeed // Yellow: already registered by other program and need action: disable by clear the content // or change to another one // Transparent without color: first run or empty config bool regResult = HotKeys.Regist(hotkey, callBack); lb.BackColor = regResult ? Color.Green : Color.Yellow; return(regResult); }