Tag: 钩子

从C#进入Windows File Copy API

有没有办法从C#挂钩到Windows File Copy API? 我知道这需要非托管代码,但代码示例或启动程序会有所帮助。 我已经看过C ++代码,但它都是希腊语。 更新:我道歉,我应该更清楚我的意图。 我希望实际上将Windows的复制function更改为更严格(例如允许排队,调度,处理重启,暂停等)。 当我说钩子时,我的意思是API挂钩,这样当有人开始复制时,我会获得源和目的地,并且可以根据我的心愿处理它。 我已经读完了以前用来挂钩Mac OS API以做这些事情所以我假设在C ++ WINAPI世界中有一些类型的等价物。

C#,从TextBox和TextArea获取其他应用程序文本?

好m ,, 我希望能够分析我正在编写任何应用程序的文本。 例如,如果我在这里,输入这个TextArea,我希望能够获得文本,如果我在Outlook中的主题文本框中也一样。 我搜索Google没有成功,也许是因为它需要Win32API调用。 目标是开始使用多种算法,如“布隆filter”和马尔可夫链。 是否可以使用C#以及如何开始?

SetWindowsHookEx全局键盘钩子没有捕获所有按键

我正在编写属于自动化系统的代码。 我想添加一个键盘钩子来提前结束测试,我通过使用SetWindowHookEx来做到这一点。 我的代码看起来非常像这样: http : //support.microsoft.com/kb/318804 这是我的SetWindowsHookEx调用: hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0); 现在,当我运行自动化时,自动化系统内的按键(来自SendKeys)会触发键盘挂钩方法,但是当我手动敲击键盘时,它不会被触发。 如果有帮助,我可以共享更多代码,但它是更大系统的一部分。 我很确定: 我的SetWindowsHookEx不正确,或 自动化系统中的某些东西绕过了我的键盘钩子(虽然我真的不知道怎么说)。 我编写了一个测试应用程序,它使用microsoft.com的示例代码来确定我的方法是否有价值(即它有效),但我无法将其与自动化系统集成。 任何关于如何确定出错的地方的想法都将不胜感激。 编辑:自动化工具中没有其他SetWindowsHookEx实例。 我不太清楚全局键盘钩子与线程和桌面的细微差别。 如果我添加一个全局键盘钩子,它的添加位置是否重要?

修改全局系统菜单

在C#中有一种方法可以在所有活动窗口的全部系统菜单中全局添加菜单项吗? 也许在“最大化”命令下呢?

听另一个窗口调整C#中的事件大小

我正在实现一个小应用程序(观察者),需要将自己“附加”到另一个窗口的底部(观察到)。 后者不是应用程序内部的窗口。 此时我通过获取窗口的hWnd并在线程中定期查询观察窗口的位置来解决,相应地移动观察者窗口。 然而,这是一个非常不优雅的解决方案。 我想做的是听取观察窗口的resize事件,以便观察者只在必要时做出反应。 我假设我应该使用一个钩子,我找到了很多方法,但是我对C WinAPI缺乏了解阻碍了我需要创建哪个钩子以及如何(pinvoke / parameters / etc)。 我很确定这是非常简单的,你们中的一些熟悉C / C ++和WinAPI就可以随时得到答案;) 谢谢

如何将任何应用程序的选定文本添加到Windows窗体应用程序中

这是我想要做的, 当用户通过双击鼠标选择任何正在运行的应用程序的任何单词(文本)时,应将特定突出显示的单词插入已经运行的Windows应用程序中。 到目前为止,我已经使用Global Keystroke实现了逻辑,用户必须触发CRT + C键盘组合键才能将所选单词复制到win form应用程序中。 我想知道的是有没有办法将这些选定的文本放入应用程序而无需按键盘按键?