Страница: 1 | 2 | 3 |
Вопрос: Помогите с API в VB2005 Express или где скач VB 6
Добавлено: 02.10.06 19:46
Автор вопроса: dimon
Нужна программка, которая:
1 берет с экрана кусок изображения 20*20 пикс.(на всем экране)
2 сравнивает его с эталонным изобр. (~70 эталонов; 1но мерный массив)
3 по результату присваивает определенное значение переменной (7 шт)
4 логическая часть На выходе одна переменная Х
5 в зависимости от значения Х, перемещает курсор мыши в определенную точку и делает левый клик.
6 подпрограммка : хватает мышью окно, перетаскивает в другое место и отпускает
Для началного ввода эталонов нужна 2 программки:
8 по шелчку мыши берет с экрана кусок изображения 20*20 пикс. и заносит его в массив
9 выводит в Текстбоксы положение курсора мыши и цвет пикселя в этой точке(на всем экране)
Вроде простые программки, но я как начал с 9й неделю назад, так и не сдвинулся с места.
В VB2005 Express никак не пойму как использовать API-функции. Всю МСДН перерыл- ни конкретного описания API-функций, ни способа их применения. В сети тоже мало инфы по VB2005 Express.
В VB 6 я не работал, но как я понял, было бы проще, но не могу его найти. На сайте микрософта нету, а так, по сети одни битые ссылки.
В общем помогите кто чем может.
Могу даже поделится энным кол-вом WMZ(небольшим),
если ктото напишет работоспособный каркас этих программ на VB2005 Express.
Спасибо.
dvdv72@mail.ru
Ответы
Всего ответов: 36
Номер ответа: 1
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #1
Добавлено: 02.10.06 20:59
Хм, странно... Я думал, что АПИ в VB2005 определяются также, как и в VB6, за исключением нескольких тонкостоей, вроде такого, что не поддерживается As Any и др. мелочей В остальном они одинаковы
Номер ответа: 2
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #2
Добавлено: 02.10.06 23:03
Но обьявляются они по разному.
во всяком случае я перепробовал кучу советов, примеров кода и- НИЧЕГО. (координаты отображаются, а цвет никак)
Но если Вы знаете как, пожалуйста, подскажите
процедуру получения цвета пикселя в координате х,у.
Или полностью прогр. №9
Спасибо
Номер ответа: 3
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #3
Добавлено: 02.10.06 23:04
Но обьявляются они по разному.
во всяком случае я перепробовал кучу советов, примеров кода и- НИЧЕГО. (координаты отображаются, а цвет никак)
Но если Вы знаете как, пожалуйста, подскажите
процедуру получения цвета пикселя в координате х,у.
Или полностью прогр. №9
Спасибо
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 02.10.06 23:13
VB6
20 WMZ
2-4 дня
p.s. нужное полное т/з
Номер ответа: 5
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #5
Добавлено: 02.10.06 23:59
Может проще Вам вставить функцию получения цвета пикселя в мою программку?
форма с 2мя текстбоксами, и кнопкой exit
Public Class Form1
 im returnValue As String
 im x As Integer
 im y As Integer
 im returnVal As Color
Public Function GetPixel( _
ByVal x As Integer, _
ByVal y As Integer _
  As Color 'функция объявлена, но не работает
End Function
Public Overloads ReadOnly Property MousePosition() As Point 'эту функцию хотелось-бы заменить на API
Get
End Get
End Property
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
x = Control.MousePosition.X
y = Control.MousePosition.Y
returnValue = Control.MousePosition.ToString 'эту функцию хотелось-бы заменить на API
TextBox1.Text = returnValue 'здесь все нормально отображается
returnVal = GetPixel(x, y)
TextBox2.Text = returnVal.ToString ' в TextBoxе отображает "Color [Empty]"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End
End Sub
End Class
Спасибо.
HACKER, ответил на мыло.
Номер ответа: 6
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #6
Добавлено: 03.10.06 01:49
ByVal x As Integer, _
ByVal y As Integer _
  As Color 'функция объявлена, но не работает
End Function
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 03.10.06 03:17
2 dimon
Прости не пришло, у меня везду грубый фильтр спама стоит, мож он тебя за спамера посчитал Продублируй плз на другое мыло и/или измени заголовок темы. А ещё лучше в асю...
rusya[sabaka]mail.ru
Номер ответа: 8
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #8
Добавлено: 03.10.06 09:59
-АлександР-
Так я и прошу помочь объявить и использовать АПИ-функцию
HACKER
продублировал, асю пока не завел.
Номер ответа: 9
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #9
Добавлено: 03.10.06 13:08
Номер ответа: 10
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #10
Добавлено: 03.10.06 13:28
В .NET есть аналогичеая функция.
GetPixel
Из пространства имен System.Drawing
Для решения твоей задачи можно обойтись и без API.
Номер ответа: 11
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #11
Добавлено: 03.10.06 14:07
HACKER
А что такое hdc?
Вставил в код- на строке returnVal = GetPixel(x, y) -пишет ошибку- Argument not specified for parameter 'y' of 'Declare Ansi Function GetPixel Lib "gdi32" Alias "GetPixel" (hdc As Long, x As Long, y As Long) As Long'.
vito
Так я использую GetPixel
посмотри код. - не возвращает цвет- empti -пишет
Номер ответа: 12
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #12
Добавлено: 03.10.06 14:51
dimon
Ты ее вообще не так используешь.
1. Нужно создать объект Bitmap.
2. В MSDN примеры использования.
Номер ответа: 13
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #13
Добавлено: 03.10.06 16:00
Мне нужен цвет пикселя в ЛЮБОЙ точке экрана, в том числе и на окнах других приложений, а не в Bitmap'e
"Всю МСДН перерыл- ни конкретного описания API-функций, ни способа их обьявления/применения"
Номер ответа: 14
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #14
Добавлено: 03.10.06 16:58
А ты как хочешь?
Навел курсор, передал координаты и GetPixel.
Еще раз повторю GetPixel API и .NET практически идентичны. И по функционалу и по способу работы с ними.
Какую?
Номер ответа: 15
Автор ответа:
dimon
Вопросов: 6
Ответов: 23
Профиль | | #15
Добавлено: 03.10.06 17:39
Уважаемые господа, я ЧАЙНИК на данный момент.
в начале 90х я много программировал на том бейсике, который был тогда (ПК Львив, Агат),
и неплохо его знал. Но он был прост как лопата, а этот ВБ....
Поэтому я и прошу помочь, если кто может.
"Всю МСДН перерыл- ни конкретного описания API-функций, ни способа их обьявления/применения"
Какую?
GetPixel API (или не АПИ, но чтобы отображался цвет пикселя в ЛЮБОЙ точке экрана), чтобы она работала в моем коде.
Если знаете как это сделать, вставьте в код нужные строки, пожалуйста.
А тыкать чайника носом в это самое- бесполезно, это не поможет ни мне, ни Вам.