草庐IT

hook_theme

全部标签

React hooks中 useState踩坑-=--异步问题

useState作为最常见的一个hook,在使用中总是会出现各种坑,最明显的就是useState更新异步的问题。比如我们把接口返回的数据,使用useState储存起来,但是当后面去改变这个数据的时候,每次拿到的都是上次的数据,无法实时更新。或者我们在函数内部使用setState,然后立即打印state,打印的结果还是第一次的state的值。比如下面的代码实例。const[data,setData]=useState('111');consthandleTest=()=>{console.log(data)//111setName('222')console.log(name)//111}原因:

c++ - 如何向键盘添加钩子(Hook) (HookProc)

我试图做一个简单的键盘记录测试,但我的程序没有按预期工作,我也不知道为什么。在我的程序中,我有一个低级键盘钩子(Hook)并为其附加了一个简单的过程。该过程只是打开/创建一个文件并写入“HelloWorld”然后关闭。但是它没有创建文件,可能是因为我的过程不正确或者因为我的Hook没有正确建立。代码:#include#include#include#includeusingnamespacestd;LRESULTCALLBACKKeyboardProc(intcode,WPARAMwParam,LPARAMlParam){ofstreammyfile;myfile.open("[PAT

windows - 函数 Hook 实际上是如何工作的? WinAPI, C++

我正在将我的DLL注入(inject)到一个进程中,然后像这样Hook一个函数:(recv)BOOLHookFunction(LPCWSTRmoduleName,LPCSTRfuncName,LPVOIDfuncProxy,unsignedchar*lpBackup){BYTEjmp[6]={0xe9,0x00,0x00,0x00,0x00,0xc3};DWORDfuncAddr=(DWORD)GetProcAddress(GetModuleHandle(moduleName),funcName);DWORDprev;VirtualProtect((LPVOID)funcAddr,6,

C++ 事件 Hook

我正在尝试了解C++中的事件Hook。我知道什么是事件,我在Java、C#和Javascript中经常使用它们。我遇到的问题是查找有关全局Hook、dll注入(inject)、没有DLL的全局Hook等内容的文档和教程。假设我想遍历FireFox中的浏览器选项卡...我需要希望FireFox有一个用于C++的API吗?或者假设我想在用户打开新选项卡时执行某些操作,我是否需要使用FireFox在其API中提供的Hook?以上只是一个例子,所以人们知道我想学习/理解什么。我的想法是否正确?我在论坛上看到了一篇帖子,在过去的2小时里我对此很感兴趣。我总是说,一个棘手的挑战,或一个新的挑战,会

windows - 我需要 Hook 什么进程 API 来跟踪服务?

当Windows中的服务或应用程序启动、停止以及它是成功退出还是出现错误代码时,我需要跟踪日志。据我了解,许多服务不会记录自己的开始和停止时间,或者如果它们正确退出,所以似乎要走的路必须在API中插入一个钩子(Hook),以便在服务/应用程序请求时捕获处理空间并放弃它。我的问题是我需要hook什么函数才能完成这个,这有可能吗?我需要它在64位WindowsXP和7上工作。 最佳答案 我认为最好的办法是使用设备驱动程序。参见PsSetCreateProcessNotifyRoutine.

windows - 如何将批处理文件作为 Tortoise SVN Hook 执行

我希望通过TortoiseSVNHook脚本在START提交或PRE提交中运行批处理文件。我所做的测试均无效。我已经创建了一个批处理文件(svnadd.bat),它现在只是将消息写入文本文件,所以我知道它被触发了。但是,批处理文件似乎没有运行,因为没有写入消息。echoYES>C:\Temp\commit.txt这是我的Hook设置。我的过程。右键单击受svn版本控制的文件夹,然后选择SVN提交。提交对话框显示,但是批处理文件没有执行。svn控制下的所有svn软件、存储库和文件夹/文件结构都驻留在同一台计算机/驱动器上。根据屏幕截图,我还尝试将cmd.exe添加到命令行的前面作为C:\

c++ - 全局 Shell Hook 只注册本地事件

我正在尝试使用全局shellHook来监听窗口创建和销毁的事件,但似乎我的程序只是为本地线程注册销毁的事件。根本没有创作事件,而且绝对不是我认为应该是的全局事件。我花了最后一天时间搜索google以及codeguru、codeproject和msdn,但在我看来我做对了,尽管我显然不是。谁能帮我指出正确的方向?#pragmadata_seg(".SHARE")HWNDhWndServer=NULL;HHOOKg_shell_hook=NULL;#pragmadata_seg()#pragmacomment(linker,"/section:.SHARE,RWS")TASKBAR_API

themes - 更改 C# Windows 应用程序的主题

在ASP中我们有很多方法来改变主题。但是有什么办法可以改变Windows应用程序的整个主题/? 最佳答案 默认情况下,winform应用程序将继承windows主题,但您可以显式更改一些ui属性,如颜色、字体等。您还可以考虑迁移到WPF以获得更好且易于实现的UI。 关于themes-更改C#Windows应用程序的主题,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3465640

c# - 从 WH_KEYBOARD_LL Hook 中向窗口发送消息

我知道如果用户设置了像中文这样的键盘布局,很难将WH_KEYBOARD_LL消息转换成相应的unicode字符,但我仍然想完成我的多语言应用程序。正如我在originalquestion中提到的为什么我使用WH_KEYBOARD_LLHook并不重要,我尝试了其他东西,这是最适合我的应用程序的东西。问:我可以将我的hookproc中的WH_KEYBOARD_LL消息床发送到另一个原本指定的窗口吗?这样做的好处是(如originalquestion的回答3中所述)如果我将此消息发送到包含编辑框的窗口,也许这会将其转换为写入unicode字符,我可以从那里获取它。

c - 通过 Hook 调用在 Windows 进程中加速或静音音频播放

我有一个应用程序,我没有播放音频的源代码,但缺乏加速或暂时静音音频播放的工具。我正在尝试通过注入(inject)一个dll并HookwaveOutOpen、waveOutWrite(并分别阻止播放或尝试waveOutSetPlaybackRate以实现静音和加速)来添加这两个功能。但是我有几个问题。让我们先谈谈“静音”按钮,因为这是我的第一项业务:我将函数的Hook版本称为MyWaveOut...1)我可以毫无问题地挂接这些函数,并且我看到它们在dbgView日志语句中被调用。我的第一次尝试是只拦截waveOutWrite函数调用,如果我的“静音”按钮被按下,则只在MyWaveOutW