소스 관련
ShowWindow를 통한 윈도우 숨기기
LAYER6AI
2013. 4. 1. 18:47
비슷한 프로그램을 생각하시면 뒤통수조심해가 있겠네요. 생각보다 간단한 프로젝트입니다.
[DllImport("user32")] public static extern int ShowWindow(int hwnd, int nCmdShow); private const int SW_HIDE = 0; private const int SW_SHOW = 5; ArrayList handleArray = null; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { handleArray = new ArrayList(); initProcessList(); } private void initProcessList() { Process[] processlist = Process.GetProcesses(); listView1.Items.Clear(); handleArray.Clear(); foreach (Process process in processlist) { if (!String.IsNullOrEmpty(process.MainWindowTitle)) { IntPtr mhandle = process.MainWindowHandle; handleArray.Add(mhandle.ToInt32()); listView1.Items.Add(process.MainWindowTitle); } } } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < listView1.Items.Count; i++) { if (listView1.Items[i].Checked == true) { ShowWindow((int)handleArray[i], SW_HIDE); } } } private void button2_Click(object sender, EventArgs e) { for (int i = 0; i < handleArray.Count; i++) { ShowWindow((int)handleArray[i], SW_SHOW); } } private void button3_Click(object sender, EventArgs e) { initProcessList(); }