【问题标题】:Determine underlying calls triggered by Windows GUI action确定由 Windows GUI 操作触发的底层调用
【发布时间】:2015-05-07 08:13:46
【问题描述】:

这是我在superuser.com 上提出的问题的后续问题。 如何跟踪 GUI 操作的后果。 Windows 中是否有某种低级事件日志?

示例 如果用户双击<name>.pdf,后果是:

  • 扩展名已确定,
  • 完整路径已确定
  • 使用与给定扩展名关联的程序打开文件

至少我认为会发生这种情况。这就是我想要跟踪的结果,以便在代码中重现它们。

【问题讨论】:

  • Event Tracing 是用于生成日志的系统范围的基础架构。它对诊断很有用,而对逆向工程不太有用。从您的问题来看,您似乎认为发生的任何事情都是简单而直接的。事实上,事实并非如此。更重要的是,您似乎正在寻找一种通过观察和重放代码中的操作来自动化 UI 的方法。请改用UI Automation。这是非 hacky 的解决方案。

标签: c++ windows winapi windows-7 event-log


【解决方案1】:

没有任何日志可供您检查以重现 shell 的事件和行为。

在这种情况下,双击会导致将默认动词应用于选定的外壳项目。在代码中为您提供了 ShellExecuteEx 函数来执行此操作。

【讨论】:

  • “外壳项目”是什么意思?我想重现 GUI 的行为,所以我想检查应用于 GUI 项的操作。
  • shell 项类似于文件或文件夹。还有其他类型的外壳项目。使用我提到的函数来调用您选择的外壳项目上的默认动词。
猜你喜欢
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2020-03-19
  • 1970-01-01
相关资源
最近更新 更多