Articles of setwindowshookex

用c ++禁用任务切换键

我做了很多search,没有真正的解决scheme(对我自己的问题),所以我想我会问在这里。 我正在devise一个亭子般的程序,以防止用户在程序运行时使用任务键(alt + tab,alt + esc,ctrl + esc等)。 注意我是一个新手程序员,所以我想远离单独的DLL处理,如果可以的话。 特别是,我去了这个网站http://support.microsoft.com/kb/226359/en-us的代码。 我的代码的一个简化部分如下所示: HHOOK mule; HHOOK g_hKeyboardHook; BOOL g_bFullscreen; LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam) { // By returning a non-zero value from the hook procedure, the // message does not get passed to the target window KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam; BOOL […]

如何在Vista中使用SetWindowsHookEx并挂钩pipe理应用程序与UAC?

我试图找出是否有一种方法来使用SetWindowsHookEx,并能够影响在Vista上使用pipe理权限运行的应用程序,启用UAC。 这是一个应用程序,需要添加一个小button到其他窗口的标题栏,以启用一些多监视器感知处理。 我原以为这不可能完成,但我看到一个似乎是这样做的应用程序。 据我所知,这个其他应用程序没有使用pipe理员权限运行,但它可以影响系统中的所有应用程序,包括那些具有pipe理员权限的应用程序。 似乎有办法做到这一点,但是,我对此感到茫然。 我的应用程序只需要能够在窗口标题栏上绘制,并能够影响他们的运动和大小。 我不需要做任何事情。

简单的方法来挂接特定进程的registry访问

有一个简单的方法来挂钩我的代码执行的进程的registry访问? 我知道SetWindowsHookEx和朋友,但它太复杂了…我仍然有希望,有一种简单的Unix LD_PRELOAD …

是否有可能检测到Windows的低级键盘挂钩已被自动断开连接?

我正在使用一个使用键盘钩子的程序。 但是,当运行程序的PC稍微超载时,会导致Windows从程序中断开连接,导致它不再响应按键。 有没有办法通过使用不同的架构,可能涉及到一个pipe道,来防止这个问题,甚至更好地提出一种解决完全相同问题的不同方法?

检测/挂钩窗口移动/拖动其他外部进程

检测窗口移动/拖动其他进程的最佳方法是什么? 在Windows7 64位 我目前正在使用C ++&C#调查DLL的全局钩子。 这是一个痛苦,因为它不想正常工作。 我用键盘和鼠标钩子取得了一些成功。 但对于窗口消息,我只是不知道什么是错的。 这是我的.dll文件中的代码 #include <windows.h> #include <iostream> #include <stdio.h> HINSTANCE hinst; #pragma data_seg(".shared") HHOOK hhk; WNDPROC realProc; #pragma data_seg() //#pragma comment(linker, "/SECTION:.shared,RWS") compiler error in VC++ 2008 express LRESULT CALLBACK wireKeyboardProc(int code, WPARAM wParam,LPARAM lParam) { //open the standard out stream for writing freopen("CONOUT$","w+t", stdout); printf("code:%d wparam:%d lparam:%d\n", code, […]

如何使用LowLevelKeyboardHook挂钩Win + Tab

简而言之:在Win + Tab之后阻塞Win会使Windows认为Win仍然下降,因此例如用Win键按下S将会打开search界面,而不是只input“s”…直到用户按下再次赢 。 不阻止它意味着Windows开始菜单将显示。 我遇到了一个难题 使用LowLevelKeyboardHook使用Alt + Tab ,或使用RegisterHotKey Win + Some Ubounded Key ,我没有任何困难。 只有使用LowLevelKeyboardHook的Win键LowLevelKeyboardHook 。 在下面的例子中,当Win + Tab组合被检测到时,我接pipeWin Win事件。 这导致每一个下面的按键行为就像Win键仍然closures一样。 private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode != HC_ACTION) return CallNextHookEx(_hookID, nCode, wParam, lParam); var keyInfo = (Kbdllhookstruct)Marshal.PtrToStructure(lParam, typeof(Kbdllhookstruct)); if (keyInfo.VkCode == VK_LWIN) { if (wParam == […]