Цвета

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Цвета

Сообщение Max! » 24.01.2004 (Сб) 17:14

Как сделать что бы мышка реагировала на цвета (вне формы), тоесть мы задаем цвет на который она будет реагировать !! И когда мы проводим мышку неподалеку от нужного цвета , она сама резко на водится(напрыгивает)! Например : Прога настроена на белый цвет , открыта папка(в пустых местах белый цвет) и ведем мышку недалеко от окна папки , хоба и она прыгнула на белый цвет! (но мышку оттуда можно убрать приэтом, если она будет там торчать и нельзя будет ее убрать это будет не круто!!!) Help!!!! :wink:
Max!

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 24.01.2004 (Сб) 22:39

А что ты пишешь? Уж не aimbot ли? :wink: Если да то лучше скачй готовый, а лучше тренеруйся стрелять сам. Просто не могу ничего придумать где такое ещё может понадобиться... И сли сделаешь то могу поспорит что будешь продувать постоянно, я людей с подобным читом (так исполненным) валю с ножа :twisted:

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 25.01.2004 (Вс) 6:38

Кстате ты идею дал !!! Но цвета карты и модэлий совподают !!! (В таком случае цель будет по карте бегать , тоесть по текстурам)!!!! Есть такие проги с каторыми можно модели делать и окраску!!! Так вот можно сделать Т - желтая окраска всей модэли , а СТ - например красный !!! Ну дальше и так понятно !!! (Это моя идея) :P А пишу я небольшую игрушку!!! :P Заодно и *** напишу :lol: !!!!
Max!

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 25.01.2004 (Вс) 8:52

Я извеняюсь за наглость и прошу помощи !
Вот код
Код: Выделить всё
Private Declare Function CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Any)
Private Declare Function DeleteDC& Lib "gdi32" (ByVal hdc As Long)
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32.dll" (ByVal x As Long, ByVal y As Long) As Long

Private Type POINTAPI
x As Long
y As Long
End Type
Dim z As POINTAPI

' type for storing the cursor positions
Private Type CURPOS
    x As Long
    y As Long
End Type
Dim xxx As CURPOS


Private Sub Form_Load()
Timer1.Interval = 10

End Sub
Private Sub Timer1_Timer()
GetCursorPos z
screendc = CreateDC("DISPLAY", "", "", 0&)
'Я идиот! Убейте меня, кто-нибудь!??? Я идиот! Убейте меня, кто-нибудь! Text1 = Hex(GetPixel(screendc, z.x, z.y))
'???? ?? Я идиот! Убейте меня, кто-нибудь!? Я идиот! Убейте меня, кто-нибудь!?? Hex-Я идиот! Убейте меня, кто-нибудь!??? Я идиот! Убейте меня, кто-нибудь!
Text1 = GetPixel(screendc, z.x, z.y)
Picture1.BackColor = SetCursorPos(xxx.x, xxx.y)
DeleteDC (screendc)
End Sub

1)В Picture1 я указываю цвет на каторый будет автоматически наведена мышка , если он существует!
2) И как сделать что бы мышка автоматически наводилась если пользователь проведет ее не подалеку от нуж-го цвета!

Отредактируйте код выше! Он не мой это ответ "Sync'а" , я внес незначительные изменения! :roll: :wink:
Max!

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 26.01.2004 (Пн) 22:06

Ну кто-нить даите ответ очень надо!!!!!
Max!

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 27.01.2004 (Вт) 19:55

Вот два кода
Код: Выделить всё
Private Declare Function CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Any)
Private Declare Function DeleteDC& Lib "gdi32" (ByVal hdc As Long)
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As Long

Private Type POINTAPI
X As Long
Y As Long
End Type
Dim z As POINTAPI

Private Sub Form_Load()
Timer1.Interval = 10
End Sub

Private Sub Timer1_Timer()
Dim i As Long
GetCursorPos z
screendc = CreateDC("DISPLAY", "", "", 0&)
Text1 = GetPixel(screendc, z.X, z.Y)
If Text1.Text = 255 Then i = SetCursorPos(screendc = z.X, z.Y)
If Text1.Text = 8454143 Then i = SetCursorPos(screendc = z.X, z.Y)
DeleteDC (screendc)
End Sub
______________________________________________

Private Sub Timer1_Timer()
Dim i As Long
GetCursorPos z
screendc = CreateDC("DISPLAY", "", "", 0&)
Text1 = GetPixel(screendc, z.X, z.Y)
If Text1.Text = 255 Then i = SetCursorPos(z.X + 1, z.Y + 1)
If Text1.Text = 8454143 Then i = SetCursorPos(z.X + 1, z.Y + 1)
DeleteDC (screendc)
End Sub


И всегда курсор убегает от цвета! В первом сл. курсор оказывается в другой части экрана а во 2'ом сл. он плавно съезжает по диагонали вниз! Но нодо что бы он
1) задерживался на цвете
2)сам напрыгивал если курсор неподалеку
255 - Красный цвет
8454143 - желтый

HELP! :twisted: :evil: :twisted: :?: [/code]
Max!

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 28.01.2004 (Ср) 1:57

Что-ж ты так нервничаешь 8) Вот тебе рабочий код:
Код: Выделить всё
Private Sub Form_Load()
DeskDC = GetWindowDC(GetDesktopWindow)
Clr = 255
End Sub

Private Sub Timer1_Timer()
Call GetCursorPos(Pt)
If GetPixel(DeskDC, Pt.x, Pt.y) <> Clr Then
  For i = -10 To 10
    For j = -10 To 10
      If GetPixel(DeskDC, Pt.x + i, Pt.y + j) = Clr Then
        Call SetCursorPos(Pt.x + i, Pt.y + j)
        i = 11: j = 11
      End If
    Next
  Next
End If
End Sub

Это помести в модуль:
Код: Выделить всё
Type POINTAPI
        x As Long
        y As Long
End Type

Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long

Public DeskDC As Long, Pt As POINTAPI, Clr As Long

P.S. Вот только я не могу понять кто-ж тебе дал такой странный способ получения DC экрана?
screendc = CreateDC("DISPLAY", "", "", 0&)
Нет ничего невозможного для человека с интеллектом.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 28.01.2004 (Ср) 2:55

Небольшая придирка насчет:
P.S. Вот только я не могу понять кто-ж тебе дал такой странный способ получения DC экрана?


Вполне работоспособный код (RTF_MSDN!), кстати никакой другой под XP/Longhorn работать и не будет :lol: !

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 28.01.2004 (Ср) 3:05

Ну не знаю, на XP не пробовал, а на win2000 работает.
Нет ничего невозможного для человека с интеллектом.

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 28.01.2004 (Ср) 16:57

Большое вам спасибо!!!! С уважением МаХ!
Max!


Вернуться в Visual Basic 1–6

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

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

    TopList