我需要自动FileMon.exe启动过滤器,保存它生成的日志,然后退出。
我的解决方案是编写一个可以完成所有这些操作的辅助应用程序。哪个已经开始使用指定的过滤器并终止进程,但我仍然需要它来保存日志。你觉得发送应用程序击键来保存日志会很愚蠢吗?例如,我会发送一个Alt + F,Alt + S,输入文件路径,输入。
如何将上述键击发送到另一个在C#中运行的进程?
答案 0 :(得分:1)
据我所知,您必须调用一些本机API:
-FindWindow找到你想要使用的父窗口
-FindWindowEx找到你要发送消息的真实窗口
-SendMessage将键击发送到那些窗口
这些API的详细信息,请参阅MSDN:)
答案 1 :(得分:1)
您可以使用Windows.Forms.SendKeys
向活动应用程序发送击键。
答案 2 :(得分:1)
感谢所有答案和帮助人员...我实际上是要使用Win32 :: GuiTest编写和调用perl脚本。
答案 3 :(得分:0)
这可能是一个不尽如人意的结局。您应该查看并查看应用程序(或其依赖的DLL之一)是否公开了正确的API调用以执行您要执行的操作。如果你不得不通过击键来做,你可以看看像MacorMaker这样的宏程序。
答案 4 :(得分:0)
您可以在www.codeplex.com/wasp上使用powershell和windows automation cmdlet来执行此操作。
-Oisin
答案 5 :(得分:0)
使用像AHK (Auto HotKey)这样的东西,它是一种可以编译成EXE的简单语言,专为自动键盘和鼠标而设计。
如果需要,IRC频道和论坛也总是有人愿意提供帮助。