C#: Глобальные горячие клавиши

Альбина15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
30.05.2012

Всем привет!

Нужно реализовать в программе на шарпе винформс глобальные горячие клавиши, именно глобальные (прога в трее - не активна, но слушает свои горячие клавиши)

реализуется так (фрагмент):

[DllImport("user32.dll")]

public static extern bool RegisterHotKey(IntPtr hWnd,int id,int fsModifiers,int vlc);

[DllImport("user32.dll")]

public static extern bool UnregisterHotKey(IntPtr hWnd, int id);

bool success = FrmMain.RegisterHotKey(this.Handle, this.GetType().GetHashCode(), frm.ShortcutInput1.Win32Modifiers, frm.ShortcutInput1.CharCode);

if (success)

{

TxtKeyEnumValue.Text = ((int)frm.ShortcutInput1.Keys).ToString();

StreamWriter writer = File.CreateText(Application.StartupPath + "\\HotkeyValue.txt");

writer.Write(TxtKeyEnumValue.Text);

writer.Close();

}

else

MessageBox.Show("Could not register Hotkey - there is probably a conflict. ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);

в инете полно примеров, даже проектов, но мне сложновато разобраться, нужно снабдить комментариями то что напишите, с возможностью задавать свои комбинации, проверять не занята ли та или иная комбинация другим приложением.

прикладываю макет проекта - http://dl.dropbox.com/u/77740218/BUFER/GlobalHotKeys.rar

в нем нужно повесить на 3 действия горячие кнопки, ну и в форме настроек задать другие хоткеи

Время не важно, приоритет на цене.

связь скайп ali_yab

Заявки фрилансеров