【问题标题】:How to track windows events in c#如何在c#中跟踪windows事件
【发布时间】:2014-04-15 04:35:16
【问题描述】:

谁能建议我如何通过 c# 代码跟踪 windows 事件。例如,如果用户打开 MS Paint 并绘制一些东西,保存并关闭窗口,然后如何跟踪它(所有步骤)。 完成活动的可能行动。用户可以遵循任何排列组合来完成此操作。

  1. 打开 MS 画图:-
    • 开始->程序->附件->画图
    • b 开始 -> 运行 -> MsPaint -> 输入
    • c windowskey + r(打开运行提示)-> mspaint -> 输入
    • d 双击 mspaint 快捷方式。
  2. 画一些东西(鼠标和键盘事件)
  3. 打开保存对话框:-
    • a Ctrl +s
    • b Alt F + S
    • c 点击文件菜单->选择保存
    • d 点击文件菜单 -> 选择另存为。
  4. 保存文件
  5. 关闭 MS 油漆:
    • 一个 Alt + F4
    • b 点击十字按钮
    • c Alt F + Exit
    • d 点击文件菜单->退出
    • e 从任务栏中(右键单击任务栏中的 mspaint 并选择关闭)。

Window 触发一些事件来完成每个请求。所以请建议我如何追踪它。 window 是否提供任何 API 来获取此信息。

【问题讨论】:

  • 听起来您正在寻找键盘记录器,我相信互联网上的某个地方有开源的。
  • 更多的是在事件跟踪方面,而不仅仅是记录密钥。请参阅第 3 点有 4 种方法可以打开“保存对话框”。所以按键或按键组合并不重要,但结果(保存对话框)很重要。所以我必须跟踪指示操作系统打开“保存对话框”的窗口事件(肯定是一些窗口事件)。如果我明白了,那么走哪条路都没有关系。不是吗?
  • 如果您解释更多您尝试使用这些信息做什么,我们可能会提供更好的帮助,例如您是否尝试以编程方式复制某些自动化测试的步骤,或者您是否尝试记录演示,因此仅捕获动作的图像会更重要吗?不要陷入XY Problem!与其问我们如何记录每条消息,不如问我们如何解决您认为记录每条消息会解决的问题。
  • 好的。正如我解释的那样,假设我有一个任务,我必须打开 MS 绘图,绘制矩形,保存并关闭它。我必须记录作为管理员我是如何做到这一点的步骤(Windows 事件)。然后作为最终用户,我必须执行相同的活动,然后我必须检查用户是否以正确的方式执行了这些步骤。如果不是,那么解决方案是什么(以某些 UI 格式执行管理步骤,如屏幕截图)。
  • 这里最终用户可能会以不同于管理员的方式打开画图,但最终结果是打开了 MS 画图。打开“保存对话框”也是如此。最终用户可能会遵循不同的步骤,但“保存对话框应该打开”。因此,要检查用户是否遵循相同的步骤将是“保存对话框打开与否”。希望它能帮助您形象化问题。

标签: c# windows api events


【解决方案1】:

您可以通过观察窗口EventLog来捕获窗口事件。

点击此链接了解更多详情:http://www.codeproject.com/Articles/4857/A-realtime-event-log-monitoring-tool

MSDN 例子更合适:http://msdn.microsoft.com/en-us/library/vstudio/system.diagnostics.eventlog.entrywritten

【讨论】:

  • 谢谢。我的要求有点不同。请检查上面的对话。
猜你喜欢
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多