позиция курсора

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

позиция курсора

Сообщение strelec » 01.07.2009 (Ср) 1:12

Код: Выделить всё
Option Explicit
Private Declare Function SetCursorPos Lib _
    "user32" (ByVal r As Long, ByVal r1 As Long) As Long
Dim pos As Single

Private Sub Command1_Click()
Dim x As Single
Dim y As Single
x = 100
y = 100
pos = SetCursorPos(x, y)
End Sub


кординати x меняется,а кординат y нет ,что делать ?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: позиция курсора

Сообщение Williams » 01.07.2009 (Ср) 8:18

Код: Выделить всё
    <DllImport("user32.dll")> _
    Private Shared Function SetCursorPos(ByVal X As Integer, ByVal Y As Integer) As Boolean
    End Function

    Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SetCursorPos(10, 10)
    End Sub
И вы думаете, что вас оставят в живых после прочтения этого поста?

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: позиция курсора

Сообщение strelec » 14.07.2009 (Вт) 0:37

большое спс за ответ,шас такой вапрос как дат команду клик ?

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: позиция курсора

Сообщение Денис » 14.07.2009 (Вт) 7:14

strelec писал(а):большое спс за ответ,шас такой вапрос как дат команду клик ?

Программно? Просто вызови имя функции, которая ответственна за клик.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: позиция курсора

Сообщение strelec » 16.07.2009 (Чт) 10:37

у меня Microsoft Visual Studio .NET 2003 и Microsoft Visual Basic 2008 Express Edition,я там не нашел АПИ функции :( , если не трудно пишите код заранее блогодарен

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: позиция курсора

Сообщение Viper » 16.07.2009 (Чт) 11:09

strelec писал(а):у меня Microsoft Visual Studio .NET 2003 и Microsoft Visual Basic 2008 Express Edition,я там не нашел АПИ функции :( , если не трудно пишите код заранее блогодарен
Код с использованием API приведен двумя постами выше.
Весь мир матрица, а мы в нем потоки байтов!

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: позиция курсора

Сообщение strelec » 16.07.2009 (Чт) 16:51

Viper писал(а):
strelec писал(а):у меня Microsoft Visual Studio .NET 2003 и Microsoft Visual Basic 2008 Express Edition,я там не нашел АПИ функции :( , если не трудно пишите код заранее блогодарен
Код с использованием API приведен двумя постами выше.



вапрос та новый =)
большое спс за ответ,шас такой вапрос как дат команду клик ?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: позиция курсора

Сообщение Viper » 16.07.2009 (Чт) 17:38

Весь мир матрица, а мы в нем потоки байтов!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: позиция курсора

Сообщение MIT » 16.07.2009 (Чт) 17:57

"Дык" не во всех случаях поможет. Возможно придется прибегать к PostMessage.
strelec, какой тебе клик нужен, что ты им хочешь сделать?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: позиция курсора

Сообщение strelec » 17.07.2009 (Пт) 12:24

MIT писал(а):"Дык" не во всех случаях поможет. Возможно придется прибегать к PostMessage.
strelec, какой тебе клик нужен, что ты им хочешь сделать?


значит я зделал удалений памошник пахожее на "radmin" вот я с удаленова компютера могу управлят мишкой но кликат на фаил или метит не могу , так как незнаю АПИ функцию "клик-а"
[Viper] :: Автор, на этом форуме принято писать грамотно, ставить запятые, точки и начинать предложения с заглавных букв. Для первого раза просто устное предупреждение!

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: позиция курсора

Сообщение GPP » 17.07.2009 (Пт) 14:46

Код: Выделить всё
Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    Private Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
    Private Const MOUSEEVENTF_LEFTUP As Integer = &H4
    Private Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20
    Private Const MOUSEEVENTF_MIDDLEUP As Integer = &H40
    Private Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
    Private Const MOUSEEVENTF_RIGHTUP As Integer = &H10

    ''' <summary>
    ''' Эмулирует нажатие на левую кнопку мыши
    ''' </summary>
    ''' <param name="p"></param>
    ''' <remarks></remarks>
    Public Sub LeftClick(Optional ByVal p As Integer = 0)
        Application.DoEvents()
        If p = 2 Then mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
        If p = 1 Then mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
    End Sub

    ''' <summary>
    ''' Эмулирует нажатие на правую кнопку мыши
    ''' </summary>
    ''' <param name="p"></param>
    ''' <remarks></remarks>
    Public Sub RightClick(Optional ByVal p As Integer = 0)
        Application.DoEvents()
        If p = 2 Then mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
        If p = 1 Then mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
    End Sub


А картинку ты уже научился передавать и получать :D ? Если что пиши в асю... все расскажу...
GPP(c) Gorlo Pavel Programming

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: позиция курсора

Сообщение strelec » 18.07.2009 (Сб) 16:27

GPP писал(а):
Код: Выделить всё
Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    Private Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
    Private Const MOUSEEVENTF_LEFTUP As Integer = &H4
    Private Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20
    Private Const MOUSEEVENTF_MIDDLEUP As Integer = &H40
    Private Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
    Private Const MOUSEEVENTF_RIGHTUP As Integer = &H10

    ''' <summary>
    ''' Эмулирует нажатие на левую кнопку мыши
    ''' </summary>
    ''' <param name="p"></param>
    ''' <remarks></remarks>
    Public Sub LeftClick(Optional ByVal p As Integer = 0)
        Application.DoEvents()
        If p = 2 Then mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
        If p = 1 Then mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
    End Sub

    ''' <summary>
    ''' Эмулирует нажатие на правую кнопку мыши
    ''' </summary>
    ''' <param name="p"></param>
    ''' <remarks></remarks>
    Public Sub RightClick(Optional ByVal p As Integer = 0)
        Application.DoEvents()
        If p = 2 Then mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
        If p = 1 Then mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
    End Sub



А картинку ты уже научился передавать и получать :D ? Если что пиши в асю... все расскажу...


мне надо было код каторий написаль GPP
да, картинку получаю, но картинка большого размера идет 2+ МВ,вот если можно било уменьшит размер это былоби классно
большое спасибо за ответы,хороший форум
извините за мой русски язык


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList