728x90
반응형
728x170
▶ Program.cs
using System;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Import
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 윈도우 찾기 - FindWindow(className, windowName)
/// <summary>
/// 윈도우 찾기
/// </summary>
/// <param name="className">클래스명</param>
/// <param name="windowName">윈도우명</param>
/// <returns>윈도우 핸들</returns>
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindow(string className, string windowName);
#endregion
#region 윈도우 표시하기 - ShowWindow(windowHandle, command)
/// <summary>
/// 윈도우 표시하기
/// </summary>
/// <param name="windowHandle">윈도우 핸들</param>
/// <param name="command">명령</param>
/// <returns>처리 결과</returns>
[DllImport("user32")]
private static extern bool ShowWindow(IntPtr windowHandle, int command);
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// SW_RESTORE
/// </summary>
private const int SW_RESTORE = 9;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
Process process = Process.GetProcessesByName("Calculator").FirstOrDefault();
if(process != null)
{
IntPtr mainWindowHandle = process.MainWindowHandle;
if(mainWindowHandle != IntPtr.Zero)
{
IntPtr windowHandle = FindWindow("ApplicationFrameWindow", process.MainWindowTitle);
if(windowHandle != IntPtr.Zero)
{
ShowWindow(windowHandle, SW_RESTORE);
}
}
}
}
#endregion
}
}
※ 프로그램 실행하기 전, 계산기 앱을 실행하고 최소화 상태로 만든다.
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] RegistryKey 클래스 : 설치 프로그램 버전 구하기 (0) | 2021.04.29 |
---|---|
[C#/COMMON] 누겟 설치 : Otp.NET (0) | 2021.04.26 |
[C#/COMMON] 작업 보기(Task View) 모드 토글하기 (0) | 2021.04.22 |
[C#/COMMON] Process 클래스 : StandardOutput 속성을 사용해 PING 실행 결과 출력하기 (0) | 2021.04.16 |
[C#/COMMON] ManagementObject 클래스 : 윈도우즈 서비스 파일 경로 구하기 (0) | 2021.04.15 |
[C#/COMMON] 최소화된 UWP 앱을 일반 상태로 표시하기 (0) | 2021.04.15 |
[C#/COMMON] 화면 보호기 표시하기 (0) | 2021.04.15 |
[C#/COMMON] Process 클래스 : 윈도우 핸들을 갖고 프로세스 파일 경로 구하기 (0) | 2021.04.14 |
[C#/COMMON] Process 클래스 : 관리자 권한 실행 여부 구하기 (0) | 2021.04.14 |
[C#/COMMON] Mutex 클래스 : 전역 객체 사용하기 (0) | 2021.04.10 |
[C#/COMMON] ManagementObjectSearcher 클래스 : 프로세스 정보 구하기 (0) | 2021.04.10 |
댓글을 달아 주세요