Местоположение курсора мыши.
От: Аноним  
Дата: 27.03.07 20:53
Оценка:
Вопрос следующий:
как програмно установить указатель в нужную мне точку на экране (например над контролом с известными заранее координатами)?

Банально не знаю в какую сторону копать...
Если это нельзя сделать средствами .NET, но можно ч/з WinAPI, то
дайте, плз, примерчик как это сделать...


Собственно пишу на C#.
Re: Местоположение курсора мыши.
От: Lloyd Россия  
Дата: 28.03.07 06:35
Оценка: +2
Здравствуйте, <Аноним>, Вы писали:

А>Вопрос следующий:

А>как програмно установить указатель в нужную мне точку на экране (например над контролом с известными заранее координатами)?

Не стоит так делать
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Местоположение курсора мыши.
От: Аноним  
Дата: 28.03.07 06:43
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, <Аноним>, Вы писали:


А>>Вопрос следующий:

А>>как програмно установить указатель в нужную мне точку на экране (например над контролом с известными заранее координатами)?

L>Не стоит так делать


Ну что не стоит — это одно, а то, что это просто надо, эт другое! ))

Фактически мне надо, чтоб по нажатию клавиши мыши ее указатель устанавливался (например) в центр экрана, а восстанавливался оттуда на старую позицию в момент, когда юзер отпускаем кнопку мыши...

(Типа система обучения работы с софтинкой... криво, конешна, но заказчик хочет, а значит надо! )
Re[2]: Местоположение курсора мыши.
От: Аноним  
Дата: 28.03.07 07:01
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, <Аноним>, Вы писали:


А>>Вопрос следующий:

А>>как програмно установить указатель в нужную мне точку на экране (например над контролом с известными заранее координатами)?

L>Не стоит так делать


Встроенными средствами не знаю как, зато нашел как ч/з WinAPI:

[DllImport("user32.dll", EntryPoint = "SetCursorPos")]
public static extern bool SetMousePosition(int x,int y);

Всем спасибо, тема закрыта.
Re[3]: Местоположение курсора мыши.
От: Aryan Россия  
Дата: 28.03.07 07:11
Оценка:
        private Point origPosition;

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            origPosition = Cursor.Position;

            Cursor.Position = new Point(
                (int)(Screen.PrimaryScreen.WorkingArea.Width / 2.0),
                (int)(Screen.PrimaryScreen.WorkingArea.Height / 2.0));
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            Cursor.Position = origPosition;
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.