locked
how to apply ANTI SCREEN SCRAPE PROTECTION in D3D metro style applications

    Question

  • hi, all:

    as development in windows 7,  we can call win32 api  SetWindowDisplayAffinity(hwndVideo, WDA_MONITOR) to anti capture screen.

    while developping in windows 8  winRT platform,  is there any api to apply anti screen capture to metro style application?

    if there is no such api,  can anybody helps to hint how to get similiar effect, such as configu some parameters to d3d device, etc ?

    thanks in advance.


    ---------------------------------------------- JohnYe from SHANGHAI. email: yechzh@126.com


    • Edited by JohnYe Tuesday, April 10, 2012 6:43 AM
    Tuesday, April 10, 2012 4:35 AM

Answers

  • Jesse is correct, you cannot disable this.  The 'rogue' person could always take a picture of the screen with a digital camera and we cannot prevent that either!

    -Jeff


    Jeff Sanders (MSFT)

    Wednesday, April 11, 2012 3:41 PM
    Moderator
  • Hello John,

    Preventing "screen scraping" has always been problematic for premimum content providers. "SetWindowDisplayAffinity" is certainly not a perfect solution for the desktop. Our current suggestion is to use HDCP via OPM / PlayReady to impliement the maximum protection the system will allow. At some time we have to display the bits to the screen. At that time the data becomes vonerable.

    I hope this helps,

    James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    • Marked as answer by JohnYe Thursday, April 12, 2012 2:05 AM
    Wednesday, April 11, 2012 10:47 PM
    Moderator

All replies

  • Hello,

    As you said, there is no API to anti screen scrape.

    I try to catch the KeyDown event but failed. This event only response for non-system key. The Prscrn is system key.

    Please check:
    http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.core.corewindow.keydown.aspx

    http://msdn.microsoft.com/en-us/library/windows/apps/hh452773

    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    Wednesday, April 11, 2012 8:27 AM
    Moderator
  • Jesse is correct, you cannot disable this.  The 'rogue' person could always take a picture of the screen with a digital camera and we cannot prevent that either!

    -Jeff


    Jeff Sanders (MSFT)

    Wednesday, April 11, 2012 3:41 PM
    Moderator
  • Hello John,

    Preventing "screen scraping" has always been problematic for premimum content providers. "SetWindowDisplayAffinity" is certainly not a perfect solution for the desktop. Our current suggestion is to use HDCP via OPM / PlayReady to impliement the maximum protection the system will allow. At some time we have to display the bits to the screen. At that time the data becomes vonerable.

    I hope this helps,

    James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    • Marked as answer by JohnYe Thursday, April 12, 2012 2:05 AM
    Wednesday, April 11, 2012 10:47 PM
    Moderator
  • thank you, all.

    to prevent from digital camera is out of our scope,  nobody can help on this.

    to enable HDCP for content protection is meet our expectation.


    here is an additional questions that if we're going to apply HDCP/OPM via IMFMediaEngine technology, is it enough to read document from MSDN?  or should we apply security document from microsoft?

    we assume that media source and video decoder meet the requirement of HDCP already,  the only thing left for us to do is to apply HDCP or OPM on D3D device.  ( frame server mode, video render part )…

    can anybody drop some hint here for helps?

    thank you.   


    ---------------------------------------------- JohnYe from SHANGHAI. email: yechzh@126.com

    Thursday, April 12, 2012 6:46 AM
  • John,

    I don't believe that we document how to do this from the MediaEngine in frame server mode. However this is very easy to accomplish by using PlayReady and specifying the digital content protection requirment. You can then simply use the MediaElement and the HDCP / OPM and HW decryption protection will be handeled for you.

    Again, using the MediaEngine in frame server mode with protected content is going to be difficult at best. Do you have a compelling reason why you feel that you need to use the MediaEnging over the MediaElement?

    -James 


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Thursday, April 12, 2012 9:38 PM
    Moderator