0

スクリプトを使用して、(Windows で) 保存された寸法と位置のセットへのアプリケーションを開く方法はありますか? もちろん、開いているアプリケーションの寸法と位置も保存したいと思います。これは、このスクリプトの反対側です。助言がありますか?スクリプトが Windows マシンでこれを実行できない場合、C#/.NET を使用する方法はありますか?

4

2 に答える 2

1

SetWindowPosへの User32.dll 呼び出しを使用してこれを行うことができます。

例えば:

    [DllImport("User32.dll")]
    public static extern IntPtr FindWindow(string className, string windowName);

    [DllImport("User32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool SetWindowPos(IntPtr windowHandle, IntPtr parentWindowHandle, int x, int y, int width, int height, PositionFlags positionFlags);

    public static readonly IntPtr HWND_TOP = new IntPtr(0);

    [Flags]
    public enum PositionFlags : uint
    {
        ShowWindow = 0x40
    }

    static void Main(string[] args)
    {
        var windowHandle = FindWindow(null, "Untitled - Notepad");
        SetWindowPos(windowHandle, HWND_TOP, 0, 0, 640, 480, PositionFlags.ShowWindow);
    }

これにより、「無題 - メモ帳」というタイトルのウィンドウが検索され、0, 0 に移動され、640x480 にサイズ変更されます。最小限の数の PositionFlags と HWND フラグを追加しました。さらに必要な場合は、提供したリンクを見て、同じ方法で追加してください:)

ああ、寸法を読み取るには、GetWindowRectを見てください。これを c# から使用する方法の例を次に示します

于 2011-11-25T13:00:49.343 に答える
1

をご覧くださいApplication Settings

于 2011-11-23T00:16:38.520 に答える