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