æ¹æ³ä¸ï¼
//è°ç¨API
[System.Runtime.InteropServices.DllImport("user32", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetFocus(); //è·å¾æ¬çªä½çå¥æ
[System.Runtime.InteropServices.DllImport("user32", EntryPoint = "SetForegroundWindow")]
public static extern bool SetFocus(IntPtr hWnd);//设置æ¤çªä½ä¸ºæ´»å¨çªä½
// å®ä¹åé,å¥æç±»å
public IntPtr han;
private void Form1_Load(object sender, EventArgs e){
//å¨çªä½å è½½çæ¶åç»åéèµå¼,å³å°å½åçªä½çå¥æèµç»åé
han = this.Handle;
}
private void timer1_Tick(object sender, EventArgs e){
// å è½½ä¸ä¸ªå®æ¶å¨æ§ä»¶,éªè¯å½åWINDOWSå¥ææ¯å¦åæ¬çªä½çå¥æä¸æ ·,å¦æä¸ä¸æ ·,åæ¿æ´»æ¬çªä½
if (han != GetFocus()){
SetFocus(han);
}
this.WindowState = FormWindowState.Normal;
}
æ¹æ³äºï¼
[System.Runtime.InteropServices.DllImport("user32")]
private static extern IntPtr GetActiveWindow();//è·åå½åçªä½çæ´»å¨ç¶æ
// å¤æå½åçªå£æ¯å¦å¤äºæ´»å¨ç¶æçæ¹æ³
private bool ThisIsActive(){ return (GetActiveWindow() == this.Handle);}
private void timer1_Tick(object sender, EventArgs e){
if (!ThisIsActive()){
this.Activate();
}
this.WindowState = FormWindowState.Normal;
}
æ¹æ³ä¸
[DllImport("user32")]
private static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32")]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
//å¨çªä½On_Loadäºä»¶ä¸æ·»å ï¼Santosç代ç ï¼ï¼
IntPtr hDeskTop=FindWindow("Progman", "Program Manager");
SetParent(this.Handle,hDeskTop);