C# WPF获取任务栏时间区域的Rectangle
2015-11-26 15:13
609 查看
[StructLayout(LayoutKind.Sequential)] public struct WindowRect { public int left; public int top; public int right; public int bottom; } [DllImport("user32.dll")] private static extern IntPtr FindWindow(string ClassName, string WindowName); [DllImport("user32.dll")] private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string className, string windowName); [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] static extern bool GetWindowRect(HandleRef hwnd, out WindowRect rect); const int SW_HIDE = 0; const int SW_SHOW = 5; [DllImport("user32.dll")] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); public MainWindow() { InitializeComponent(); this.Loaded += MainWindow_Loaded; } private void MainWindow_Loaded(object sender, RoutedEventArgs e) { IntPtr taskBarWnd = FindWindow("Shell_TrayWnd", null); IntPtr tray = FindWindowEx(taskBarWnd, IntPtr.Zero, "TrayNotifyWnd", null); IntPtr trayclock = FindWindowEx(tray, IntPtr.Zero, "TrayClockWClass", null); WindowRect rect; GetWindowRect(new HandleRef(Application.Current.MainWindow, trayclock), out rect); //this.Top = rect.top; //this.Left = rect.left; //this.Width = rect.right - Left; //this.Height = rect.bottom - rect.top; //this.Topmost = true; }
相关文章推荐
- 将DataGridVIew数据导出到Excel中的两种方法
- winform登录时载入验证码,并且点击可刷新
- winform上传照片并处理(包括上传时自动缩放大小以适应picturebox大小,裁剪)
- C#写好的类库dll怎么在别人调用的时候也能看到注释?
- C# 编写Windows Service(windows服务程序)
- C#导出DataTable数据到CSV文件中
- C#中hashtable的赋值、取值、遍历、排序操作
- csharp:百度翻译
- csharp:百度翻译
- csharp:百度翻译
- C#导出数据到Excel通用的方法类
- C# repeater控件序号绑定
- C#文件夹路径获得
- C#中虚方法,抽象类(方法)和接口的区别
- C# 属性和字段的区别
- 【术】深入理解c#反射
- (转)C# Enum,Int,String的互相转换 枚举转换
- [转]C#取得内网IP、外网IP、客户端IP方法
- Windows Server 2008 部署webservice(C# .Net)
- 【C#】Event事件的应用之观察者模式