2017-06-14 16 views
0

私は自分のアプリケーションにWindowsの "Problem Steps Recorder"(PSR)を使用しており、ティックレベルの粒度にタイムスタンプ付きの各ActionSet(Screenshot)を保存する必要があります。ここでWindowsのビルドステップレコーダー(PSR)にティックレベルのタイムスタンプを保存できますか?

<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> 

、タイムスタンプは時間= "11:43:44 AM"のように与えられる本PSRのhtmlファイルで私に次の形式で各アクションを与えます。私はミリ秒レベルに変換することができます - PSR時間は現地時間帯です。私はそれをUTCの日付に変換してから、msを取得しています。

解決策の1つは、別のスクリーンレコーダーを見つけることです。しかし、私はPSRのような画面の詳細を得ることができませんでした(上記のhtmlスニペットの<UIAStack>タグで見ることができます)別の粗末な方法は、PSRと共に別のスクリーンレコーダーを使用し、イベントスクリーンショットをタイムシンクします。追加の時刻同期エラーオーバーヘッドを回避する必要があり、また、複数の画面レコーダーを実行している。

私はダニの粒度は必要不可欠であるアプリケーションの一部としてPSRを使用しています。

どれポインタは歓迎です!

答えて

0

私はこの問題を解決するためのPythonの方法を見つけました。PSRに頼るのではなく、PSRが内部的に使用するWindows DLLで直接作業しています。 PIYAと呼ばれるMSAA Pythonクライアントライブラリを使用します。 comtypesというDLLラッパーを使用します。

関連する問題