Показать живые экраны других приложений в одном окне приложения - PullRequest
5 голосов
/ 03 апреля 2012

Можно ли показать в одном окне приложения (развернуто) экраны в реальном времени других приложений, которые работают одновременно.

У меня есть следующая концептуальная идея (см. Скриншот ниже): основное приложение отображается, когда несколько приложений Excel работают одновременно.Вместо того, чтобы щелкать (или вкладывать) между приложениями или изменять размеры этих окон, чтобы они отображались на экране, я хотел бы просто развернуть главное приложение, чтобы отображать экраны всех этих открытых рабочих книг Excel.

enter image description here

Ответы [ 2 ]

4 голосов
/ 03 апреля 2012

Я использую периодические звонки на PrintWindow для этого.

Я не совсем доволен этим решением, потому что оно кажется немного странным. Но он также сканирует скрытые окна.

Код

[DllImport("User32.dll")]
public static extern bool PrintWindow(IntPtr hWnd, IntPtr hdcBlt, int nFlags

[StructLayout(LayoutKind.Sequential)]
struct RECT
{
    public int Left;
    public int Top;
    public int Right;
    public int Bottom;
}

public static Bitmap GetWindow(IntPtr hWnd)
{
    RECT rect;
    GetWindowRect(hWnd, out rect);

    int width = rect.Right - rect.Left;
    int height = rect.Bottom - rect.Top;
    if (width > 0 && height > 0)
    {
        // Build device context (dc)
        Bitmap bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
        Graphics gfxBmp = Graphics.FromImage(bmp);
        IntPtr hdcBitmap = gfxBmp.GetHdc();

        // drawing options
        int nFlags = 0;

        // execute call
        PrintWindow(hWnd, hdcBitmap, nFlags);

        // some clean-up
        gfxBmp.ReleaseHdc(hdcBitmap);
        gfxBmp.Dispose();

        return bmp;
    }
    else
    {
        return null;
    }

} // end function getWindow
0 голосов
/ 03 апреля 2012

Проверьте следующие интересные сообщения.Они содержат много информации, которая может быть (очень) полезной!

Coding-4-Fun-Windows-7-Taskbar

Windows-7-Taskbar-C-Quick-Reference

Удачи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...