이번 프로그램은 보이지 않는 윈도움 폼을 만들어봤는데요 .
더해서 아래의 그림과 같이 프로그램을 작업표시줄에서 숨겨보도록 하겠습니다.
보이지 않는 윈도우 폼은 2가지 방법을 제시 했습니다.
1번 this.WindowState = FormWindowState.Minimized; 로 작업표시줄을 최소화 하는 방법과
가장 간단한 2번 this.Opacity = 0; 로 폼의 Opacity를 투명하게 만드는 방법이 있는데
되도록 1번과 같이 하는것을 추천합니다.
이유는 2번의 방법을 사용할 경우 간혹 타 프로그램이나
윈도우즈 바탕화면의 repaint와 같은 이벤트가 발생할경우 opacity로 숨겨놓은 윈도우가 나타났다가
사라지는 깜박임 현상이 있을 수 있습니다.
아래 간단히 코드블록 올리겠습니다.
자세한 내용은 코드블록 아래에 ZIP파일 다운 받으시기 바랍니다.
//title : 보이지않는 프로그램 만들기.
/*
프로그램 작성 시 작업표시줄 및 작업관리자 목록에 보이지 않는 프로그램을 만들어야 할 때, 사용하면 좋은 소스.
*/
private void Form1_Load(object sender, EventArgs e)
{
this.ShowInTaskbar = true; // 작업표시줄에 프로그램 나타남 - 기본
this.ShowInTaskbar = false; // 작업표시줄에 프로그램 숨김.
//보이지 않는 윈도우폼 만들기 1번
/*
this.ShowInTaskbar = false; 구문을 응용하여 this.WindowState = FormWindowState.Minimized; 함께 작성시 프로그램을 완전 숨길 수 있다.
*/
this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized; // 폼 작업표시줄로 최소화
//보이지 않는 윈도우폼 만들기 2번
/*
폼의 투명도를 조절하여 1번과 비슷하게 프로그램을 화면에서 숨길 수 있다.
폼의 투명도를 조절하여 프로그램을 숨기는 방법보단 1번에서 처럼 프로그램을 작업표시줄로 minimize한 후 작업표시줄에서 지우는것을 추천.
이뉴는 2번의 방법을 사용할 경우 간혹 타 프로그램이나 윈도우즈 바탕화면의 repaint와 같은 이벤트가 발생할경우 opacity로 숨겨놓은 윈도우가 나타났다가
사라지는 깜박임 현상이 있을 수 있다.
*/
this.ShowInTaskbar = false;
this.Opacity = 0; // 폼의 투명도를 0로 하여 보이지 않게 한다.
// 1번 구문 + CreateParams ExStyle I = 0x80; 구문을 통하여 보이지 않는 숨겨진 프로세스 구동이 가능하다.
}
protected override CreateParams CreateParams // CreateParams 오버라이드 후 cp.ExStyle |= 0x80; 해당 내용 코딩
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x80; // 코딩 시 작업관리자 응용프로그램 목록에 프로그램 타이틀 나타나지 않음.
return cp;
}
}
'coding > c#' 카테고리의 다른 글
C# 메세지박스 15종 MessageBoxButtons, MessageBoxIcon (1) | 2020.03.26 |
---|