Higher Resolution Than Monitor Screenshot?

a_unique_name 401 Reputation points
2022-04-21T07:10:34.93+00:00

Hi Folks:

Sorry about the "Windows-11" tag. I can never find a tag that's related what I'm asking, I can't even find a "Windows-10" tag, so I just enter something. Does anybody else miss the MSDN forum we used to have? I'm the only one? That figures.

Developing on Windows 10, C++, WIN32 API.

My client wants to take screenshots of the dialogs in the app I'm working on for a PDF user's guide.

He tells me the images he can capture on his 1080p monitor look fuzzy.

Printing to the Microsoft Print to PDF printer looks great, portrait mode is 5100 x 6600 pixels, but I need to screen shot dialogs, not GDI windows.

Is there some way to make Windows, or my application, think it's drawing dialogs on a higher resolution monitor, like 5100 x 6600, and then capture this screen to a high resolution image file, PDF or any format?

It would be nice if the client could capture these high resolution images as PDF files. I don't know anything about the software he's using to produce the PDF documents.

I think I've seen a technique for capturing screenshots to a folder's files with one click, not the tedious <Print Screen> <Paste in Windows> <Save File> cycle I usually use. I don't remember how to make that work. Anybody know what I'm talking about?

Thanks
Larry

Windows development | Windows API - Win32
Windows for business | Windows Client for IT Pros | User experience | Other
Developer technologies | C++
{count} votes

2 answers

Sort by: Most helpful
  1. Tricia-1966 151 Reputation points
    2022-04-21T13:48:41.91+00:00

    Have you tried using Power Point? It has an insert screen shot function. On mine it's the 2nd main tab from the left 4th option from the left.

    195168-image.png

    1 person found this answer helpful.

  2. Jeanine Zhang-MSFT 11,356 Reputation points Microsoft External Staff
    2022-04-22T03:09:29.17+00:00

    Hi,

    Welcome to Microsoft Q&A!

    drawing dialogs on a higher resolution monitor

    You could change the values for DPI_AWARENESS either programmatically (use SetProcessDpiAwarenessContext function or SetThreadDpiAwarenessContext function) or with a manifest.

    capture this screen to a high resolution image file

    You can use a bitmap to capture an image, and you can store the captured image in memory.

    I suggest you could refer to the following docs:
    1,https://learn.microsoft.com/en-us/windows/win32/gdi/capturing-an-image
    2,https://learn.microsoft.com/en-us/windows/win32/gdi/scaling-an-image
    3,https://learn.microsoft.com/en-us/windows/win32/gdi/storing-an-image

    Best Regards,

    Jeanine


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.