Alt+Shift+S をグローバルにインターセプトするアプリケーションを作成する必要があります。
私がしたことは、グローバル フックを設定する DLL を作成したことです。
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ファイルを削除できることがわかりました。
私が間違っていることを教えてください。
別のアプローチを使用する必要がありますか?
ありがとうございました。