我可以使用Windows内置步骤记录器(PSR)来存储刻度级别时间戳吗?

时间:2017-06-14 20:35:57

标签: windows events timestamp screenshot screen-scraping

我正在为我的应用程序使用Windows“问题步骤记录器”(PSR),并且需要将每个ActionSet(屏幕截图)与时间戳存储在勾选级别粒度中。目前PSR html文件以下列格式给出了每个动作:

echo array_search(max($dist), $dist);

此处,时间戳为Time = <EachAction ActionNumber="120" Time="11:43:44 AM" Pid="8992" ProgramId="0000da39a3ee5e6b4b0d3255bfef95601890afd80709" FileId="0000f53c3e9453e8e4352db97fddbea5bc1357a3d2a2" FileName="ECLIPSE.EXE" CommandLine="ECLIPSE.EXE"> <Description>User left click on "Close (button)" in "PyDev - J6VideoMining/src/utils/constants.py - Eclipse"</Description> <Action>Mouse Left Click</Action> <CursorCoordsXY>1349,7</CursorCoordsXY> <ScreenCoordsXYWH>0,0,1366,768</ScreenCoordsXYWH> <UIAStack> <Level BoundingRectangle="1317,0,47,20" ControlType="50000" Name="Close" LocalizedControlType="button" /> <Level BoundingRectangle="16,-5,1350,28" ControlType="50037" LocalizedControlType="title bar" /> <Level BoundingRectangle="-8,-8,1382,744" ClassName="SWT_Window0" ControlType="50032" FrameworkId="Win32" Name="Eclipse SDK" LocalizedControlType="window" /> </UIAStack> <ScreenshotFileName>screenshot0120.JPEG</ScreenshotFileName> </EachAction> 。目前我能够将其转换为毫秒级 - PSR时间在当地时区。我将它转换为UTC日期,然后获得ms。

我能做的一个解决方法是,找到另一个屏幕记录器。但我没有找到任何,可以获得像PSR这样的屏幕细节(你可以在上面给出的html片段中的"11:43:44 AM"标签中看到。另一种粗略的方式是使用另一个屏幕录像机和PSR,并且时间同步事件截图。但我需要避免额外的时间同步错误开销,并且还要运行多个屏幕录像机。

我正在使用PSR作为应用程序的一部分,其中刻度粒度是必不可少的。

赞赏任何指针!

1 个答案:

答案 0 :(得分:0)

我已经找到了解决这个问题的Python方法。我现在直接使用PSR内部使用的Windows DLL,而不是依赖PSR。为此,我使用名为PIYA的MSAA Python客户端库。它使用名为comtypes的DLL包装器。