전 세계적으로 Alt + Shift + S를 가로채는 응용 프로그램을 작성해야합니다.C#에서 글로벌 단축키를 구현하는 방법은 무엇입니까?
namespace Hotkeydll
{
public class MyHotKey
{
public static void setHooks()
{
KeyboardHookProcedure = new HookProc(KeyboardHookProc);
hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0);
}
private int KeyboardHookProc(int nCode, Int32 wParam, IntPtr lParam)
{
//write something into file
}
}
}
다음
나는이 DLL을로드하고 후크 설정 프로그램 생성 :
using Hotkeydll;
namespace IWFHotkeyStarter
{
class Program
{
static void Main(string[] args)
{
MyHotKey.setHooks();
}
}
}
이제 문제가 있다는 것입니다을 내가 무슨 짓을
내가 글로벌 후크를 설정하는 DLL을 생성 바로 가기 키가 작동하지 않습니다.
DLL이 메모리에 영구적으로로드되지 않은 것 같습니다. 파일 시스템에서 dll 파일을 삭제할 수 있습니다.
내가 잘못하고있는 것을 조언 해주세요.
다른 접근 방식을 사용해야합니까?
감사합니다.
은 무엇을위한 같이 당신의 PInvoke 코드를 보면 '그건 @Paedow이 아닌 C# – SwDevMan81
을 SetWindowsHookEx' Windows API. 피팅 p/invoke 메서드를 사용해야하지만 어렵지 않습니다. – fardjad