Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Цикл 
:(
    Опции темы
REVOLT
Дата 15.11.2004, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

Репутация: нет
Всего: нет



Люди добрые, подскажите как сделать так чтобы курсор переходил по 3 координатам, и потом начинал свой цикл заного... подскаите плиз
PM MAIL WWW ICQ   Вверх
boevik
Дата 15.11.2004, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Где бы переходил? В каком объекте? О чем речь вообще?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
REVOLT
Дата 15.11.2004, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

Репутация: нет
Всего: нет



Код

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long)
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Const TWIPS_PER_INCH = 1440
Private Const POINTS_PER_INCH = 72
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Const MOUSE_MICKEYS = 65535
Public Enum enReportStyle
rsPixels
rsTwips
rsInches
rsPoints
End Enum
Public Enum enButtonToClick
btcLeft
btcRight
btcMiddle
End Enum
Public Function MouseFullClick(ByVal MBClick As enButtonToClick) As Boolean
Dim cbuttons As Long
Dim dwExtraInfo As Long
Dim mevent As Long
Select Case MBClick
   Case btcLeft
       mevent = MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP
   Case btcRight
       mevent = MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP
   Case btcMiddle
       mevent = MOUSEEVENTF_MIDDLEDOWN Or MOUSEEVENTF_MIDDLEUP
   Case Else
       MouseFullClick = False
Exit Function
End Select
       mouse_event mevent, 0&, 0&, cbuttons, dwExtraInfo
       MouseFullClick = True
End Function

Private Sub Timer1_Timer()
For i = 0 To 9 Step 1
X& = 50
Y& = 645
a& = SetCursorPos(X&, Y&)
Call MouseFullClick(btcLeft)
Call MouseFullClick(btcLeft)
XX& = 200
YY& = 200
aa& = SetCursorPos(XX&, YY&)
Call MouseFullClick(btcLeft)
XXX& = 300
YYY& = 300
aaa& = SetCursorPos(XXX&, YYY&)
Call MouseFullClick(btcLeft)
Next i
End Sub

Private Sub Timer2_Timer()
If (GetAsyncKeyState(vbKeyF6) = -327680) Then
If MsgBox("fd", 1, "") = 1 Then
End
Sleep 25
Exit Sub
End If
End Sub


Проблемка немного изменилась, мне нужно остановить цикл, нажатием F6 как это сделать????
PM MAIL WWW ICQ   Вверх
boevik
Дата 15.11.2004, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



На KeyDown ловишь код клавиши 117.
Зажигаешь какую нибудь переменную (bBreak = True)
И останавливаешь цикл. (кстати где он у тебя?)


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
REVOLT
Дата 15.11.2004, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

Репутация: нет
Всего: нет



Код

For i = 0 To 9 Step 1
X& = 50
Y& = 645
a& = SetCursorPos(X&, Y&)
Call MouseFullClick(btcLeft)
Call MouseFullClick(btcLeft)
XX& = 200
YY& = 200
aa& = SetCursorPos(XX&, YY&)
Call MouseFullClick(btcLeft)
XXX& = 300
YYY& = 300
aaa& = SetCursorPos(XXX&, YYY&)
Call MouseFullClick(btcLeft)
Next i


Покажи примерчик выхода из цикла при нажатии на кнпку smile
PM MAIL WWW ICQ   Вверх
boevik
Дата 15.11.2004, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



For i = 0 To 9 Step 1
X& = 50
Y& = 645
a& = SetCursorPos(X&, Y&)
Call MouseFullClick(btcLeft)
DoEvents
if bBreak then exit for

Call MouseFullClick(btcLeft)
DoEvents
if bBreak then exit for

XX& = 200
YY& = 200
aa& = SetCursorPos(XX&, YY&)
Call MouseFullClick(btcLeft)
DoEvents
if bBreak then exit for

XXX& = 300
YYY& = 300
aaa& = SetCursorPos(XXX&, YYY&)
Call MouseFullClick(btcLeft)
DoEvents
if bBreak then exit for

Next i



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
REVOLT
Дата 16.11.2004, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

Репутация: нет
Всего: нет



А про bBreak расскажи?
PM MAIL WWW ICQ   Вверх
cardinal
Дата 16.11.2004, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



А он уже рассказал smile
Цитата(boevik @ 15.11.2004, 21:27)
На KeyDown ловишь код клавиши 117.
Зажигаешь какую нибудь переменную (bBreak = True)




--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
REVOLT
Дата 18.11.2004, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

Репутация: нет
Всего: нет



bBreak так это служебное слово??? Или нет?
PM MAIL WWW ICQ   Вверх
cardinal
Дата 18.11.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Нет. Переменная это типа Boolean.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.