草庐IT

enable-client-side-hooks-when-com

全部标签

windows - 从 32 位 wix 脚本注册 64 位 com 组件

我有为IE安装和注册32位COM组件的WIX脚本,我还想在同一个包中包含IE的64位COM组件而不创建额外的包(不想让用户混淆2个相同的程序添加/删除面板),我只看到一个变体-像这样运行操作[Windows文件夹]\SysWOW64\regsvr32.exe并且没有检查这个操作的响应因此,我的安装程序将在32位和64位窗口中运行问题:还有其他方法吗? 最佳答案 您应该将32位注册的注册表项放在Win64="no"的组件中。这将确保在为64位编译时,注册保持32位。 关于windows-从

c++ - 禁用钩子(Hook)滚动

我目前正在编写一个允许滚动的应用程序,无需聚焦窗口。我已经做了什么:我创建了一个LowLevelMouseHook.如果LowLevelMouseProc收到MouseWheel消息,我将在光标位置搜索句柄并将滚动消息发送到该句柄。钩子(Hook)看起来像这样:LRESULTCALLBACKMouseHookCallback(intcode,WPARAMwparam,LPARAMlparam){if(code如您所见,如果消息是鼠标滚轮消息,我将返回-1。这应该避免滚动当前聚焦的窗口(我不想滚动聚焦的窗口,我想滚动光标悬停的窗口)。问题是,它不会取消滚动聚焦窗口。那么有没有人知道如何避

windows - 调试 Windows 组件对象模型 (COM) 中的内存泄漏

我们有一个在Windows上运行的nativeC++应用程序,它使用组件对象模型(COM)作为客户端。在我们的例子中,我们可以使用IUIAutomation。不幸的是,我们的代码中存在内存泄漏,使用我们的基本内存调试方法没有显示出来:_CRTDBG_MAP_ALLOC-http://msdn.microsoft.com/en-us/library/x98tx3cf.aspx我们如何调试与滥用COM/IUnknown/和跨COM屏障的内存分配相关的可执行文件中的内存泄漏?我们在工具/库/等方面很灵活。我们在运行VisualStudio2012的Windows8上。

c++ - Windows:如何查询低级键盘 Hook 中修改键的状态?

对于usb键盘配置工具,我需要拦截所有键盘输入并检测同时按下了哪些修改键和普通键。因此,我使用了一个Windows低级钩子(Hook)(WH_KEYBOARD_LL),它工作正常,除了我无法确定是否按下了WIN键(VK_LWIN/VK_RWIN)(control/shift和alt正在工作)。我做了一个小命令行工具来显示问题:#include#includeusingnamespacestd;HHOOKhKeyboardHook;LRESULTCALLBACKLowLevelKeyboardProc(intnCode,WPARAMwParam,LPARAMlParam){if(nCod

Python win32com EXCEL 返回无

这是我的第一个问题,我对python和英语也有点不好,希望你能理解......我正在尝试循环浏览Excel列中的行。最后几行返回None,我的代码有什么问题?importwin32com.clientexcel=win32com.client.Dispatch("Excel.Application")forninrange(1,200):n=repr(n)cell="b"+nlis=(excel.ActiveWorkbook.Activesheet.Range(cell))iflis!="":print(lis)else:print("There'snothinghere")它为白色行

python - 如何向已注册的 COM 服务器添加新方法?

编辑:事实证明,如果我重新启动Excel,VBA可以看到新方法。不过,我的问题仍然存在,尽管形式有所不同:如何强制Excel在不重新启动的情况下查看新方法?我有一个简单的COM服务器,看起来像这样:classCOMServerThing:_public_methods_=["DoStupidThing"]_reg_progid_="COMServerThing.Utilities"_reg_clsid_="{A9DAECC7-2154-42E6-95B3-53A27EAB63E2}"defDoStupidThing(self):return'foo'我是这样注册的:importwin3

windows - 通过 Hook (GIT,Windows,GitStack)推送后 merge 暂存存储库裸存储库

我在WindowsServer2008上安装了GitStack,并为给定的项目创建了一个裸存储库,我从本地开发环境将其推送到该存储库。我想设置一个Hook,使我的暂存环境在每次推送时自动merge推送的更改。我发布了一个以前的bash脚本,但现在已将其更新为以下内容:#!/bin/shexportGIT_WORK_TREE=F:\\inetpub\\project_name\\staging\\exportGIT_DIR=F:\\inetpub\\project_name\\staging\\.gitgitpulloriginmaster并得到以下错误信息:远程:bash.exe:警告

windows - Git 预提交 Hook 不在 Windows 上添加文件

我有一个运行mysqldump的预提交Hook来跟踪MySQL。我正在尝试将该转储添加到提交中,但由于某些原因它不会。代码:#!/bin/shrm-fdatabase.sqlexec"C:\ProgramFiles\MySQL\MySQLServer5.5\bin\mysqldump.exe"--skip-comments-uroot--password=passwordmy-database>database.sqlgitadddatabase.sql文件已创建,但未添加到提交中。在Windows7上运行TortoiseGit。 最佳答案

windows - 在 Windows 7 上使用 PowerShell 从 COM 端口捕获输出

我想将SierraAT命令发送到COM端口并捕获输出并使用PowerShell将其存储在变量中。PowerShell版本:Name:ConsoleHostVersion:2.0InstanceId:eb5987f0-9961-4842-b349-ba215d86fdfaUI:System.Management.Automation.Internal.Host.InternalHostUserInterfaceCurrentCulture:en-INCurrentUICulture:en-USPrivateData:Microsoft.PowerShell.ConsoleHost+Con

windows - 是否可以将断点条件设置为 "break when called by another thread"?

我正在调查一个可能由多线程引起的问题。数据不断被一个线程读取,我想看看它是否被另一个线程读取。我可以设置断点并按住F5并检查它是否在另一个线程中中断,但这有点烦人。是否可以将断点条件设置为“被另一个线程调用时中断”? 最佳答案 您可以设置一个过滤器(参见UsingBreakpoints)。例如,可以在ThreadId上设置过滤器。要设置过滤器,请右键单击断点,选择Conditions...,然后输入ThreadId!=作为过滤器表达式。确保表达式中没有任何空白字符。否则,您将收到一条不太有用的错误消息。