protected void WriteObjectMethod045OnSuccessScreenshot(PSCmdletBase cmdlet, object outputObject) { WriteVerbose(this, "WriteObjectMethod045OnSuccessScreenshot UIAutomation"); if (Preferences.OnSuccessScreenShot) { UiaHelper.GetScreenshotOfAutomationElement( (cmdlet as HasControlInputCmdletBase), (outputObject as IUiElement), CmdletName(cmdlet), true, new ScreenshotRect(), string.Empty, Preferences.OnSuccessScreenShotFormat); } }
protected override void WriteErrorMethod045OnErrorScreenshot(PSCmdletBase cmdlet) { WriteVerbose(this, "WriteErrorMethod045OnErrorScreenshot UIAutomation"); if (!Preferences.OnErrorScreenShot) { return; } IUiElement elementToTakeScreenShot = null; try { if (null != CurrentData.CurrentWindow) { cmdlet.WriteVerbose(cmdlet, "taking screenshot of the current window"); elementToTakeScreenShot = CurrentData.CurrentWindow; } else { cmdlet.WriteVerbose(cmdlet, "taking screenshot of the desktop object"); elementToTakeScreenShot = UiElement.RootElement; } } catch { cmdlet.WriteVerbose(cmdlet, "taking screenshot of the desktop object (on fail)"); elementToTakeScreenShot = UiElement.RootElement; } cmdlet.WriteVerbose(cmdlet, "taking screenshot"); UiaHelper.GetScreenshotOfAutomationElement( cmdlet, elementToTakeScreenShot, CmdletName(cmdlet), true, new ScreenshotRect(), string.Empty, Preferences.OnErrorScreenShotFormat); cmdlet.WriteVerbose(cmdlet, "done"); }