Можете ли вы получить положение окна, которое находится внутри другого приложения

Так что я нашел пример из ответа, приведенного здесь

Был ответ, который дал этот пример кода для перемещения окна "Блокнот" в верхний левый угол экрана. Я попробовал, и все работало нормально. Затем я попробовал его на небольшом проекте, над которым я работаю, и я не смог его перенести.

ПРИМЕЧАНИЕ. Я изменил "Блокнот" на имя в верхней части окна, которое я хотел переместить.

using System;
using System.Runtime.InteropServices; // For the P/Invoke signatures.

public static class PositionWindowDemo
{

// P/Invoke declarations.

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", SetLastError = true)]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);

const uint SWP_NOSIZE = 0x0001;
const uint SWP_NOZORDER = 0x0004;

public static void Main()
{
    // Find (the first-in-Z-order) Notepad window.
    IntPtr hWnd = FindWindow("Notepad", null);

    // If found, position it.
    if (hWnd != IntPtr.Zero)
    {
        // Move the window to (0,0) without changing its size or position
        // in the Z order.
        SetWindowPos(hWnd, IntPtr.Zero, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
    }
}

}

Я приведу пример. Рассмотрим Visual Studios и то, как у него есть окно обозревателя решений или окно вывода, и я могу перетаскивать их с помощью мыши и перемещать или откреплять их. Был бы способ иметь приложение, в котором окна были бы похожи на Visual Studios, и получить их положение в программе?

Я видел много ответов здесь о перемещении окна или поиске активного окна и т. Д. Однако я не уверен, смогу ли я получить доступ к этому подокну, который находится внутри другого приложения.

Спасибо

0 ответов

Другие вопросы по тегам