Можете ли вы получить положение окна, которое находится внутри другого приложения
Так что я нашел пример из ответа, приведенного здесь
Был ответ, который дал этот пример кода для перемещения окна "Блокнот" в верхний левый угол экрана. Я попробовал, и все работало нормально. Затем я попробовал его на небольшом проекте, над которым я работаю, и я не смог его перенести.
ПРИМЕЧАНИЕ. Я изменил "Блокнот" на имя в верхней части окна, которое я хотел переместить.
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, и получить их положение в программе?
Я видел много ответов здесь о перемещении окна или поиске активного окна и т. Д. Однако я не уверен, смогу ли я получить доступ к этому подокну, который находится внутри другого приложения.
Спасибо