草庐IT

enable-client-side-hooks-when-com

全部标签

c - c中的全局键盘 Hook

我想写一个全局键盘钩子(Hook)来禁止任务切换。当我用谷歌搜索时,我在c#、cpp(和delphi)中找到了很多代码,但我需要一些关于钩子(Hook)的基本概念(最好是例子在C中)。因此,请建议可以帮助我从C的角度理解事物的资源和链接。PS:我找到了一个不错的workingexample(适用于winXP和旧版本),但是当我尝试编译代码时,它给了我:我尝试在所有header中搜索“IDC_”常量(MinGWgcc安装附带的默认header和开发人员提供的header),但没有运气......如果有人可以编译代码并使其运行请帮助我。我没有在这里上传源代码本身,因为有一些头文件依赖项,在

Webrtc从理论到实践八: 官方demo源码走读(peerconnection_client)(上)

系列文章目录Webrtc从理论到实践一:初识Webrtc从理论到实践二:架构Webrtc从理论到实践三:角色Webrtc从理论到实践四:通信Webrtc从理论到实践五:编译webrtc源码Webrtc从理论到实践六:Webrtc官方demo运行Webrtc从理论到实践七:官方demo源码走读(peerconnection_server)文章目录系列文章目录前言一、peerconnection_client目录结构二、PeerConnection_client类图三、时序图MainWnd对象创建PeerConnectionClient和Conductor对象创建开启Windows事件循环点击Co

.net - 是否可以从 .NET 中的全局键盘 Hook 中确定当前用户

我想创建一个键盘和鼠标Hook,它将作为Windows服务启动。我想监控全天使用该系统的各种用户的事件。即哪些用户在什么时间活跃。是否可以确定哪个用户将接收事件?(该服务将作为单独的用户运行,因此getCurrentUser不合适) 最佳答案 不,Environment.UserName不起作用-Hook过程不会在输入接收器的上下文中调用。事实上,我认为这是不可能的-如果使用.NET,您无疑会使用_LLHook,它是低级Hook。在我看来,它们在Windows甚至确定哪个桌面/应用程序将接收事件之前就已执行。不过,我可能错了——我自

c++ - 用于类似资源管理器的系统 View 的 COM 库

为了提供类似WindowsExplorer的用户系统View,我们一直在使用LogicNP(以前称为SkySoftware)的shell控件,但这些控件存在缺陷,例如,不支持Win7库。供应商没有回复我们关于更新的询问,因此我们正在寻求更换包。要求:ActiveX(无托管代码或MFC)系统的TreeView和ListView每项复选框32位和64位版本对替代产品有什么建议吗?TIA。 最佳答案 基于您所说的需要支持WindowsXP这一事实:我通过使用ShellAPI枚举文件和文件夹来完成此操作,然后使用自定义绘图为标准ListVi

windows - 调用已释放的 COM 对象

我创建了一个COM对象,用于某些应用程序的自动化任务。发生这种情况时,应用程序将启动并显示其主窗口。问题发生在用户关闭主应用程序窗口时。NextInvoke对COM对象的调用不起作用。问题是它不会失败,也不会报告错误。如果我在下一行代码中放置一个调试器断点,它永远不会到达。如果我用try/catch包围Invoke调用,则不会捕获异常。在发布版本中它只是崩溃。这应该如何运作?因为我使用CComDispatchDriver作为IDispatch*的包装器,所以我希望即使用户关闭了应用程序,我的AddRef也会使COM对象保持事件状态。我希望至少得到一些HRESULT作为错误。

windows - OleDbException (0x80004005) : Oracle client and networking components were not found. 我该如何解决这个问题?

我想在我的web应用程序中使用oledb连接(msdaora.dll)连接到oracle。我使用:IIS7.564bitwindowsserver2008r2enterprise.64bitoracle11g32bitoracleclientvisualstudio201032bitmsdaora.dllmyaplicationis.aspx我的错误是什么:ServerErrorin'/PPIGanTT'Application.--------------------------------------------------------------------------------

php - 让 PHP 在 64 位操作系统中访问 32 位 COM 对象

我最近将我的旧家庭服务器系统升级到64位系统(Win7),但在访问PHP中的32位家庭自动化DCOM对象时遇到问题。我正在运行32位Apache,据我所知,32位PHP(我认为没有可用的64位版本)。此设置与我的旧(但有效)设置之间的唯一区别是我运行的是64位Windows7而不是32位。当我重新安装所有内容时,我最初感到困惑的是我无法配置对DCOM对象的访问,因为dcomcnfg.exe没有显示它。过了一会儿我才意识到我必须启动32位版本的dcomcnfg.exe才能看到DCOM对象(mmccomexp.msc/32)。我现在正尝试在PHP中访问这个32位DCOM对象,但它不起作用。

c++ - 跨进程 COM 编码(marshal)拆收器 : reduce number of copies for large arrays

作为简化的案例:我需要通过现有的COM接口(interface)将VARIANT传输到另一个进程。我目前使用MIDL生成的编码器。实际传输是针对许多值的,是时间关键过程的一部分,并且可能涉及大字符串或safearray(几MB),因此复制的数量似乎是相关的。由于接收方需要“保留”函数调用之外的数据,因此编码(marshal)拆收器至少需要制作一份拷贝。然而,我能想到的所有签名都包括两份:SetValue([in]VARIANT)GetValue([out]VARIANT*)//calledbyreceiver在这两种情况下,根据我的理解,编码器制作了一个跨进程拷贝,但确实被编码器销毁了

python - pyinstaller 不读取我的 Hook 文件并且不适用于 win32com.shell

根据pyinstaller的文档,如果您将文件命名为hook-fully.qualified.import.name.py,每当您导入匹配的时,它都会读取该文件。py文件。但是,我的脚本是这样的:importpythoncomfromwin32com.shellimportshellfromwin32comimportstoragecon...并且pyinstaller拒绝识别win32com.shell并出现以下错误:ImportError:Nomodulenamed'win32com.shell'。因此,我使用以下代码创建了hook-win32com.shell.py:hidden

Windows 中的 java.io.IOException : The process cannot access the file because another process has locked a portion - when using IOUtils. copyLarge()

问题源于此tryblock中的特定代码行:try{fInputStream=newFileInputStream(path);#thisLinebyteCount+=IOUtils.copyLarge(fInputStream,fOutputStream);fileCount++;}堆栈跟踪看起来像这样:java.io.IOException:Theprocesscannotaccessthefilebecauseanotherprocesshaslockedaportionofthefileatjava.io.FileInputStream.readBytes(NativeMetho