728x90
반응형
728x170
■ SetWindowPos API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System;
using System.Runtime.InteropServices;
#region 윈도우 위치 설정하기 - SetWindowPos(windowHandle, windowHandleInsertAfter, x, y, width, height, flag)
/// <summary>
/// 윈도우 위치 설정하기
/// </summary>
/// <param name="windowHandle">윈도우 핸들</param>
/// <param name="windowHandleInsertAfter">삽입 이후 윈도우 핸들</param>
/// <param name="x">X 좌표</param>
/// <param name="y">Y 좌표</param>
/// <param name="width">너비</param>
/// <param name="height">높이</param>
/// <param name="flag">플래그</param>
/// <returns>처리 결과</returns>
[DllImport("user32")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetWindowPos(IntPtr windowHandle, IntPtr windowHandleInsertAfter, int x, int y, int width, int height, SetWindowPosFlag flag);
#endregion
#region 윈도우 위치 설정 플래그 - SetWindowPosFlag
/// <summary>
/// 윈도우 위치 설정 플래그
/// </summary>
[Flags]
public enum SetWindowPosFlag : uint
{
/// <summary>
/// SWP_ASYNCWINDOWPOS
/// </summary>
SWP_ASYNCWINDOWPOS = 0x4000,
/// <summary>
/// SWP_DEFERERASE
/// </summary>
SWP_DEFERERASE = 0x2000,
/// <summary>
/// SWP_DRAWFRAME
/// </summary>
SWP_DRAWFRAME = 0x0020,
/// <summary>
/// SWP_FRAMECHANGED
/// </summary>
SWP_FRAMECHANGED = 0x0020,
/// <summary>
/// SWP_HIDEWINDOW
/// </summary>
SWP_HIDEWINDOW = 0x0080,
/// <summary>
/// SWP_NOACTIVATE
/// </summary>
SWP_NOACTIVATE = 0x0010,
/// <summary>
/// SWP_NOCOPYBITS
/// </summary>
SWP_NOCOPYBITS = 0x0100,
/// <summary>
/// SWP_NOMOVE
/// </summary>
SWP_NOMOVE = 0x0002,
/// <summary>
/// SWP_NOOWNERZORDER
/// </summary>
SWP_NOOWNERZORDER = 0x0200,
/// <summary>
/// SWP_NOREDRAW
/// </summary>
SWP_NOREDRAW = 0x0008,
/// <summary>
/// SWP_NOREPOSITION
/// </summary>
SWP_NOREPOSITION = 0x0200,
/// <summary>
/// SWP_NOSENDCHANGING
/// </summary>
SWP_NOSENDCHANGING = 0x0400,
/// <summary>
/// SWP_NOSIZE
/// </summary>
SWP_NOSIZE = 0x0001,
/// <summary>
/// SWP_NOZORDER
/// </summary>
SWP_NOZORDER = 0x0004,
/// <summary>
/// SWP_SHOWWINDOW
/// </summary>
SWP_SHOWWINDOW = 0x0040,
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > WIN32' 카테고리의 다른 글
[C#/WIN32] SetForegroundWindow API 함수 선언하기 (0) | 2021.08.30 |
---|---|
[C#/WIN32] DeviceIoControl API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] LoadCursorFromFile API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] keybd_event API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] GetSystemMetrics API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] GetWindowPlacement API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] SetWindowPlacement API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] GetKeyState API 함수 선언하기 (0) | 2021.08.27 |
[C#/WIN32] ImmReleaseContext API 함수 선언하기 (0) | 2021.08.27 |
[C#/WIN32] ImmGetConversionStatus API 함수 선언하기 (0) | 2021.08.27 |
댓글을 달아 주세요