0
포 그라운드 응용 프로그램이 아니더라도 항상 장치 (예 : 키보드 및 마우스)에서 입력을받는 첫 번째 응용 프로그램이되는 방법이 있습니까? 레지스트리를 조정할 필요없이 독립 실행 형 응용 프로그램으로이 작업을 수행 할 수 있습니까?포 그라운드 응용 프로그램이 아니더라도 C#을 사용하여 포 그라운드 응용 프로그램이 아닌 응용 프로그램에서 입력을 수신하는 방법은 무엇입니까?
포 그라운드 응용 프로그램이 아니더라도 항상 장치 (예 : 키보드 및 마우스)에서 입력을받는 첫 번째 응용 프로그램이되는 방법이 있습니까? 레지스트리를 조정할 필요없이 독립 실행 형 응용 프로그램으로이 작업을 수행 할 수 있습니까?포 그라운드 응용 프로그램이 아니더라도 C#을 사용하여 포 그라운드 응용 프로그램이 아닌 응용 프로그램에서 입력을 수신하는 방법은 무엇입니까?
그에 대한 nuget package있다 : 키보드 후크와 project's readme
private IKeyboardMouseEvents m_GlobalHook;
public void Subscribe()
{
// Note: for the application hook, use the Hook.AppEvents() instead
m_GlobalHook = Hook.GlobalEvents();
m_GlobalHook.MouseDownExt += GlobalHookMouseDownExt;
m_GlobalHook.KeyPress += GlobalHookKeyPress;
}
private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
{
Console.WriteLine("KeyPress: \t{0}", e.KeyChar);
}
private void GlobalHookMouseDownExt(object sender, MouseEventExtArgs e)
{
Console.WriteLine("MouseDown: \t{0}; \t System Timestamp: \t{1}", e.Button, e.Timestamp);
// uncommenting the following line will suppress the middle mouse button click
// if (e.Buttons == MouseButtons.Middle) { e.Handled = true; }
}
public void Unsubscribe()
{
m_GlobalHook.MouseDownExt -= GlobalHookMouseDownExt;
m_GlobalHook.KeyPress -= GlobalHookKeyPress;
//It is recommened to dispose it
m_GlobalHook.Dispose();
}
에서
nuget install MouseKeyHook
: https://msdn.microsoft.com/en-us/library/windows /desktop/ms644959(v=vs.85).aspx – Dai
키보드 부분의 경우 배경 키 누를 수신기를 찾고 있습니다. 다음은 C#을 사용한 예제입니다. https://stackoverflow.com/questions/5852455/background-key-press-listener – Ergwun
이 라이브러리는 도움이 될만한 것으로 보입니다 : https://github.com/gmamaladze/globalmousekeyhook – Ergwun