草庐IT

after_event_hooks

全部标签

c# - 我需要 Hook 什么功能(使用简易 Hook )以防止最小化第三方应用程序?

我正在尝试编写一个简单的东西来防止第三方应用程序能够最小化。我要使用EasyHook因为我认为这是最简单的方法。我的代码将使用C#。我一直在查看EasyHook存储库中的示例,我只是不确定我需要替换哪个Windows函数才能实现此目的。或者,如果有另一种方法也可以做到这一点。示例(不工作):Program.csusingSystem;usingSystem.Text.RegularExpressions;usingEasyHook;namespaceAutoMaximize{internalclassProgram{privatestaticvoidMain(string[]args)

windows - 为什么 SetWindowsHookEx() 返回 NULL 而 LastError 是 ERROR_HOOK_NOT_INSTALLED

我的代码几年来一直没有报告任何问题。它设置了一个低级键盘钩子(Hook),用户可以使用它来激活应用程序。m_hKeyboardHook=SetWindowsHookEx(WH_KEYBOARD_LL,KeybHookFn,GetModuleHandle(NULL),0);突然有一位用户(这在他之前也适用多年),键盘Hook无法正常工作。经过调查,我可以看到SetWindowsHookEx()正在返回NULL,而GetLastError()正在返回0x00000597,即ERROR_HOOK_NOT_INSTALLED。我找不到关于这意味着什么的任何文档。为什么会发生这种情况的可能性有哪

c++ - 如何使用 keybd_event 函数打印/按下 '@'?

按'a'代码是keybd_event(VkKeyScan(64),0,0,0);释放关键码是keybd_event(VkKeyScan(64),0,KEYEVENTF_KEYUP,0);要按“@”,我需要两个键的组合-SHIFT和2,但我不知道怎么做。keybd_event(https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304(v=vs.85).aspx) 最佳答案 尝试以下操作:按Shift键按2第2版发布类次附录我只是检查了我自己的代码,我做了同样的事

c++ - 什么可能导致低级鼠标 Hook 错过按钮事件?

我编写了一个简单的程序来将所有鼠标事件打印到调试View:#include#includeHHOOKg_mouseEventHook=NULL;LRESULTCALLBACKmouseEventHookProc(intcode,WPARAMwParam,LPARAMlParam){if(code!=HC_ACTION){return::CallNextHookEx(g_mouseEventHook,code,wParam,lParam);}PMSLLHOOKSTRUCTmi=(PMSLLHOOKSTRUCT)lParam;charbuf[2048];sprintf(buf,__FUNC

c# - 桌面开发 : Remember Target After Losing Focus

是否可以从另一个程序获取焦点来响应事件,但是一旦处理完响应,就切换回前一个程序并将光标恢复到原来的位置?这听起来像是一个奇怪的问题,但是按照以下思路来思考它用户正在程序A中的文本框中输入。弹出程序B的窗口,用户按下几个按钮以确认某些内容。程序B将控制权返回给程序A并恢复对文本框的选择。如果有一个完整的C#解决方案,那就太好了,但这听起来可能比平时需要更多的努力。有什么想法吗? 最佳答案 就个人而言,这样做很可能会导致用户在弹出窗口中选择不需要的值。例如,某人正在Word中打字。您的应用程序弹出一个窗口,点击“Enter”选择一个值.

java - 使用 javaw.exe 启动应用程序时不执行关闭 Hook

如果我使用javaw.exe启动Java应用程序,则当用户从其Windows帐户注销时不会执行关闭Hook。该应用程序实际上是使用launch4j生成的.exe文件启动的,但我知道它使用javaw.exe启动它。这似乎是一个已知错误:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4302814有没有人遇到过这个问题?如果是这样,您是如何解决的?谢谢! 最佳答案 Theapplicationisactuallylaunchedusingalaunch4jgenerated.exe

windows - 禁止将 EXCEPTION_DEBUG_EVENT 传递给附加的调试器

我正在处理一个反调试应用程序,它禁止将EXCEPTION_DEBUG_EVENT传递给我的调试器,而是执行其SEH和UnhandledExceptionFilters。我尝试了3种不同的调试器(甚至是自制的)我的调试器接收到其他调试事件,如LOAD_DLL、CREATE_THREAD等第一次调试和最后一次调试都没有通过异常我自己创建的线程的断点事件被传递给调试器,因此反调试方法必须是线程特定的,并且可能是对ThreadInformationBlock的修改没有内核模式访问权限那怎么可能在用户模式下传递EXCEPTION_DEBUG_EVENT(只针对一个线程,不影响整个进程)?

windows - 如何在 Vista 中使用 SetWindowsHookEx 并将管理应用程序与 UAC Hook ?

我正在尝试弄清楚是否有一种方法可以使用SetWindowsHookEx并能够影响在启用了UAC的Vista上以管理员权限运行的应用程序。这是一个需要向其他窗口的标题栏添加一个小按钮以启用一些多显示器感知处理的应用程序。我原以为这不可能完成,但我看到一个应用似乎可以做到这一点。据我所知,其他应用程序没有以管理员权限运行,但它会影响系统中的所有应用程序,包括那些具有管理员权限的应用程序。看来似乎有办法做到这一点,但我不知道该怎么做。我的应用程序只需要能够在窗口标题栏上绘制并能够影响它们的移动和大小。我不需要做任何其他事情。 最佳答案 您

windows - Subversion post commit to tags 钩子(Hook)

我可以让提交后Hook在每次有人检查某些内容时发送一封电子邮件,但我能否将其限制为仅当人们将某些内容检查到标签目录中时?基本上我想要在有人发布版本时收到通知。我的颠覆在Windows上运行。有什么想法吗? 最佳答案 您获得作为提交后Hook的参数提交的repo和修订。使用svnlook获取修订中更改的文件的路径并查看它是否有tags并触发您的电子邮件。svnlookchanged-r$rev$repo上面的代码看起来像Atrunk/app/file.cs使用该信息查看是否添加了标签并在提交后写信

时间:2019-01-18 标签:c#windowsforms: Form Close Event Cancel Button

我有一个Form_Closing事件提示用户文件是否已更改以在对文件进行更改时保存(标准是/否/取消选项)。取消是事情没有按预期进行的地方。如果我选择"file"->“新建”并且存在一个包含更改的现有文件,我会按预期收到提示,当我选择“取消”时会显示新表单而不是停留在当前表单上,我最终会打开两个表单一次。这是MainForm(新建文件)代码:if(editForm!=null){//CloseexistingEditorformeditForm.Close();//OpennewformeditForm=newEditorForm(this);//CloseFormEventsedit