WinForm 在 Alt+Tab 切换时 不显示

        

 1          protected override CreateParams CreateParams
 2          {
 3             get
 4             {
 5                 const int WS_EX_APPWINDOW = 0x00040000
 6                 const int WS_EX_TOOLWINDOW = 0x00000080
 7 
 8                 CreateParams result = base.CreateParams; 
 9                 result.ExStyle = result.ExStyle & (~WS_EX_APPWINDOW); 
10                 result.ExStyle = result.ExStyle | WS_EX_TOOLWINDOW; 
11                 return result; 
12             }
13         }
14 
15 

 

 

      或者

    

 1 
 2 
 3     public class FormHelper
 4     {
 5         [DllImport("user32.dll")]
 6         private static extern
 7             Int32 GetWindowLong(IntPtr hwnd, Int32 index);
 8         [DllImport("user32.dll")]
 9         private static extern
10             Int32 SetWindowLong(IntPtr hwnd, Int32 index, Int32 newValue);
11 
12         private const
13             int GWL_EXSTYLE = (-20);
14         private const
15             int WS_EX_APPWINDOW = 0x00040000;
16         private const
17             int WS_EX_TOOLWINDOW = 0x00000080;
18 
19         public static bool HideTabAltMenu(IntPtr hwnd)
20         {
21             bool result = true;
22             int exStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
23             if (exStyle == 0)
24             {
25                 result = false;
26             }
27             else
28             {
29                 exStyle = exStyle & (~WS_EX_APPWINDOW);
30                 exStyle = exStyle | WS_EX_TOOLWINDOW;
31                 if (0 == SetWindowLong(hwnd, GWL_EXSTYLE, exStyle))
32                 {
33                     result = false;
34                 }
35             }
36             return result;
37         }
38     }
39 
40 
       然后再FormLoad的时候添加代码:
       
      
1 FormHelper.HideTabAltMenu(this.Handle);

 

 

 

posted @ 2011-02-10 10:27  Ctrliman  阅读(587)  评论(0编辑  收藏  举报