草庐IT

全局性

全部标签

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

windows - 具有延迟的全局键盘 Hook

我正在为条形码扫描仪制作“驱动程序”。这个特定的扫描仪基本上是一个USB键盘,只要扫描到某些东西就会生成击键。我想找到一种方法来区分这些击键和正确键盘发送的那些击键。不幸的是,唯一的区别是扫描仪生成击键的速度真的很快,在几分之一秒内完成了一系列的按键操作。我的看法是,我必须设置一个全局键盘钩子(Hook)来拦截所有输入,以某种方式存储它,稍等片刻,然后将这些击键发送到钩子(Hook)链的更下方,或者假设它们是扫描仪生成的并适本地处理它们。但是,由于之前没有使用钩子(Hook)的经验,我不确定正确的方法。我可以只调用CallNextHookEx()中的某些方法而不是其他线程中的Keybo

Office Addin 2013 中的 C# 全局键盘 Hook

我遇到了一个问题,无法让我的Office插件在Powerpoint2013上与我的全局键盘一起工作,但在以前的版本(2007和2010)上却没有。我没有收到任何异常,但似乎从未在Powerpoint2013上触发OnKeyDown事件,我不知道为什么。我在所有版本的Windows(XP、7、8和8.1)、32位和64位环境中遇到同样的问题。MicrosoftOffice版本为32位。这是一个代码示例:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Xml.

c++ - 未调用全局变量析构函数,从哪里开始?

我遇到了我的应用程序全局变量析构函数未被调用的问题。这似乎只有在我的应用程序成功连接到oracle数据库(使用OCI)时才会发生。我在CRT中放置了一些断点,似乎没有使用DLL_PROCESS_DETACH调用DllMain(或__DllMainCRTStartup),因此没有调用atexit(),这解释了为什么我的析构函数没有被调用。我不知道为什么会这样。我意识到这可能不足以说明原因,但我的问题是:寻找此问题的原因应该从什么开始?这是我已经尝试过的事情的列表:在网上搜索解决方案附加调试器并启用native异常以查看没有隐藏的崩溃,有时我在.Net框架中遇到异常,但应用程序似乎继续运行

windows - 注册一个全局钩子(Hook)来检测鼠标是否拖动文件/文本

我知道有可能registerglobalhooksformouse移动、按钮点击、滚动等,但我想知道是否有任何方法可以检测用户是否真的在使用全局Hook拖动文件或文本(或其他一些内容)。似乎找不到任何东西。 最佳答案 它不由Windows消息处理,即使需要消息循环才能使其工作。经典COM要求。从RegisterDragDrop()开始阅读以查看管道。值得注意的是,UAC的UIPI方面会妨碍您,您不能从非提升的进程D+D到提升的进程。ChangeWindowsMessageFilter()是通常的解决方法,它不适用于D+D。没有已知的

c++ - 我可以使用全局系统 Hook 来捕获单击的文件吗?

我是Windows编程的新手,主要完成Java(JavaSE、JavaME、Android、JavaEE),所以要详细而温和。我想捕获“在窗口中单击的文件/路径的名称,就像单击桌面上的文件一样”?进一步研究http://www.codeproject.com/Articles/6362/Global-System-Hooks-in-NET,这是一个使用全局系统Hook的小型c#/c++不错的应用程序,用于捕获坐标、点击等鼠标事件。那么捕获文件图标事件的正确API或全局系统Hook是什么? 最佳答案 没有单一的API可以提供该级别的详

c++ - 全局关闭 C++ 新运算符异常

有什么方法可以全局关闭new运算符的异常?如果有多个,哪个最好?我试过了,但我真的不确定:#includeusingstd::nothrow;我尝试用谷歌搜索“usingstd::nothrow;”,但没有结果。我正在使用MSVC2010。我当然知道new(std::nothrow)myClass(); 最佳答案 没有。这会破坏很多代码,例如在标准header中,它确实依赖于new抛出。C++委员会意识到将数十种几乎兼容的语言标准化为同一个名称会带来危险,而仅使用5个这样的选项,您就已经拥有32种不兼容的语言。

c++ - 用户进程看不到服务创建的全局共享内存

我有一个Windows服务(在系统进程中运行)和一个需要共享配置结构的桌面应用程序。数据源自应用程序,但用户进程没有创建全局内存对象的权限,因此我在服务启动时使用CreateFileMapping()和基于thisanswer的DACL创建了它。.这似乎工作正常:我从CreateFileMapping()得到一个非空句柄并且GetLastError()是0。问题是应用程序看不到对象——OpenFileMapping()返回一个NULL句柄和ERROR_FILE_NOT_FOUND——如果我用WinObj手动浏览全局对象,我也看不到它。是什么让我的对象不可见?SECURITY_ATTRI

c++ - 安装了全局 Hook 后,我如何知道窗口何时开始移动以及何时停止移动?

有没有简单的方法来解决这个问题?我想我可以使用WM_MOVE通过保持计时器来告诉我它何时开始。如果窗口在最后2秒内没有收到WM_MOVE消息,那么我就知道它刚刚开始移动。然后我又设置了一个定时器,等待他们在一段时间内(2秒)没有消息。如果什么都没有收到,那么我可以确信窗口移动已经完成。这是解决这个问题的正确方法吗? 最佳答案 如果您可以看到WM_MOVE消息,那么您也可以看到WM_ENTERSIZEMOVE和WM_EXITSIZEMOVE消息。 关于c++-安装了全局Hook后,我如何知

windows - 全局信号量忽略本地信号量

我有一个访问某些文件和系统资源的应用程序,因此可能只有一个应用程序实例处于事件状态。这是通过创建一个命名的信号量并在已经分配信号量时停止应用程序运行来实现的。过去(阅读:当WindowsXP是最常见的操作系统时)运行良好,但现在我们注意到旧代码不适用于多个用户session。这里是旧代码:hInstanceSem:=CreateSemaphore(nil,0,1,PChar(GetProductName(Application.ExeName)));if(hInstanceSem0)and(GetLastError=ERROR_ALREADY_EXISTS)then//donotrun