Computer/Tips
[c#] 시스템 트레이 프로그램 작성
창천(蒼天)
2019. 8. 23. 10:43
출처 : http://son10001.blogspot.com/2015/02/c.html
프로그램을 짜다 보면 사용자의 눈에 안띄게 프로그램해야 할 경우도 있다.
이런경우 그냥 실행시 프로그램의 visible 를 False 로 하고, 트레이 아이콘을 등록해 주면 된다.
간단하게 폼 하나를 추가하고.
notifyIcon 컨트롤을 추가해 준다.
보여줄 아이콘이 지정되어 있지 않으면 notifyIcon 을 등록해도 소용이 없으므로, 적당한 아이콘을 찾아 지정해 준다.
제대로 지정했으면 지정한 아이콘이 보일 것이다.
그리고, ContextMenuStip 를 하나 추가해 준다.
물론 없어도 실행하는데는 별 상관이 없지만, 이게 없으면 정상적인 방법으로는 실행시킨 프로그램을 종료할 방법이 없어지므로 추가해 준다.
실행 폼이 여러개라면 맨처음에 실행될 frmStart 를 시작 폼으로 기록해 둔다.
시작 폼에 위와 같이 소스를 작성한다.
public frmStarter() {
InitializeComponent();
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
this.Visible = false;
this.notifyIcon1.Visible = true;
notifyIcon1.ContextMenuStrip = contextMenuStrip1;
}
private void 종료ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
이렇게 하고 실행하면...
아무런 액션이 일어나지 않지만, 트레이에 자세히 보면 새로운 아이콘이 등록된것이 보인다.
당연한 말이지만, 트레이아이콘 마져 등록하지 않으면, 아무런 표시없이 실행되게 할 수도 있다. (물론 프로세스 목록에선 나타나겠지만...)
ContextMenuStip 가 등록되어 있으므로 마우스 오른쪽 버튼을 클릭시 팝업 메뉴가 나타나고 "종료"를 선택시 프로그램이 종료된다.