| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Положение мыши вне окна |
| Автор: Alfmaster 23.8.2009, 16:08 |
| Можно ли отслеживать положение мыши вне моего окна? |
| Автор: Partizan 23.8.2009, 22:37 |
| ага....повесить low-level hook на мышь |
| Автор: Maxidrom 23.8.2009, 23:57 |
| Зачем же с хуками возится, если мона апи GetCursorPos заюзать |
| Автор: Mikant 26.8.2009, 18:22 |
| можно. только мышу сначала захватить надо. вот экспромт using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace mousenonover { class Program { [STAThread] static void Main() { Application app = new Application(); app.Run(new MyWindow()); } } class MyWindow : Window { public MyWindow() { this.Width = 300; this.Height = 300; StackPanel mysp = new StackPanel(); mysp.Children.Add(tbPos); Content = mysp; this.MouseMove += MyWindow_MouseMove; this.KeyDown += MyWindow_KeyDown; } void UpdatePosition() { Mouse.Capture(this); tbPos.Text = Mouse.GetPosition(this).ToString(); ReleaseMouseCapture(); } void MyWindow_KeyDown(object sender, KeyEventArgs e) { UpdatePosition(); } TextBlock tbPos = new TextBlock() { Text = "???" }; void MyWindow_MouseMove(object sender, MouseEventArgs e) { UpdatePosition(); } } } тут с реликтами первой попытки) в общем при нажатии на любую кнопку на окне будут отображаться координаты мыши Добавлено через 14 минут и 43 секунды для вычисления положения мыши на всем экране надо просто к х прибавить Left, а к у - Top. + поправки за размеры границы ока (заголовка итп) |