Jedes Beispiel, das ich sehe, ist für Winforms und verwendet protected override void WndProc(ref Message m){...}, das nicht verfügbar ist Ich.
Update: Was ich habe, ist unten, aber das Ereignis wird nie getroffen. Ich dachte, es könnte daran liegen, dass beim Laden von ConsoleShell die weitere Ausführung blockiert wird, aber selbst wenn ich SetupHotkey in einen anderen Thread einfüge, passiert nichts. Irgendwelche Gedanken?
Code: Select all
class Program
{
static void Main(string[] args)
{
new Hud().Init(args);
}
}
class Hud
{
int keyHookId;
public void Init(string[] args)
{
SetupHotkey();
InitPowershell(args);
Cleanup();
}
private void Cleanup()
{
HotKeyManager.UnregisterHotKey(keyHookId);
}
private void SetupHotkey()
{
keyHookId = HotKeyManager.RegisterHotKey(Keys.Oemtilde, KeyModifiers.Control);
HotKeyManager.HotKeyPressed += new EventHandler(HotKeyManager_HotKeyPressed);
}
void HotKeyManager_HotKeyPressed(object sender, HotKeyEventArgs e)
{
//never executed
System.IO.File.WriteAllText("c:\\keyPressed.txt", "Hotkey pressed");
}
private static void InitPowershell(string[] args)
{
var config = RunspaceConfiguration.Create();
ConsoleShell.Start(config, "", "", args);
}
}