I have created a function below that you can try, just put the function in your UFT script/function library then call the UFT function whenever you want a screenshot.
    Function CaptureScreenshot
    'Written 6/26/2017 Joshua Yates Orasi Software
    'Create File system object
    Set fso=createobject(''scripting.filesystemobject'')
    'Delete previous test image capture if it exists
    If fso.FileExists(''C:TempMyUFTScreenshot.png'') then
       fso.DeleteFile(''C:TempMyUFTScreenshot.png'')
    End If
    'Capture new image and save to report
    Desktop.CaptureBitmap ''C:TempMyUFTScreenshot.png''
    Reporter.ReportEvent micDone, ''Capture Screenshot'', ''Failure Screenshot'', ''C:TempMyUFTScreenshot.png''
    Set fso=nothing
    End Function