Code/C#

PInvoke SetForegroundWindow Sample Code

Hide Code 2008. 1. 14. 11:53
SetForegroundWindow 메쏘드를 이용한 샘플 코드이다.

1초에 한번씩 노트패드에 "abc " 스트링을 입력을 하는 것이다.

using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace ControlHandle
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void button1_Click(object sender, EventArgs e)
       {
           this.timer1.Interval = 1000;
           this.timer1.Enabled = true;
       }

       private void timer1_Tick(object sender, EventArgs e)
       {
           Process[] processes = Process.GetProcessesByName("notepad");

           foreach (Process process in processes)
           {
               IntPtr hWnd = process.MainWindowHandle;
               this.textBox1.Text += hWnd.ToString() + Environment.NewLine;

               SetForegroundWindow(hWnd);
               SendKeys.SendWait("abc ");
           }
       }

       [DllImport("user32.dll")]
       [return: MarshalAs(UnmanagedType.Bool)]
       static extern bool SetForegroundWindow(IntPtr hWnd);
   }
}

아래는 실행 결과 화면이다.