Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 12:43   #1
BarakudaX777
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 53
Печаль Поиск нужного курсора

Привет всем. очень нуждаюсь в вашей помощи. Перерыл весь интернет, путного ничего так и не нашел а нужно следющее:
Я знаю что можно по номеру курсора получить изображение курсора, а мне нужно обратное. Тоесть есть изображение курсора, а нужно получить его код!
Поясняю более подробно, кто понял может не читать.

Программа при запуске постоянно создает новые номера для курсоров. мне же нужно узнать номер необходимого в этой программе курсора.
У меня есть курсор, точнее то как он выглядит.
Мне нужно обратится к списку курсоров в Windows ну или у определеного Хэндела, перебрать их и и вывести код нужного!

Хотя бы помогите вывести все курсоры задействованные в памяти...плиз...очень нужно!
BarakudaX777 вне форума Ответить с цитированием
Старый 13.06.2010, 12:55   #2
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

Номера курсоров вроде от 0 до 127. Сравнивай изображения в цикле.
alexprey вне форума Ответить с цитированием
Старый 14.06.2010, 09:39   #3
BarakudaX777
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от alexprey Посмотреть сообщение
Номера курсоров вроде от 0 до 127. Сравнивай изображения в цикле.
Как я понимаю в номерах от 0 до 127 располагаются стандартные курсоры а мне нужен курсор с приложения.
Есть приложение у него стоят свои курсоры, допустим при наведении на кнопку у него появляется курсор руки (не стандартный). Мне нужно обратится каким то образом к курсорам задействованным в программе и получить его номер...

Я уже и не представляю как объяснить...надеюсь поможет кто!
BarakudaX777 вне форума Ответить с цитированием
Старый 14.06.2010, 13:25   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Есть приложение у него стоят свои курсоры, допустим при наведении на кнопку у него появляется курсор руки (не стандартный).
Хм... Ну и какой такой номер, если у него курсоры свои?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 14.06.2010, 14:49   #5
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

Если тебе просто нужно достать эти курсоры юзай прогу ResHacker
alexprey вне форума Ответить с цитированием
Старый 14.06.2010, 21:29   #6
BarakudaX777
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Хм... Ну и какой такой номер, если у него курсоры свои?
Попробую так объяснить:

Код:
var CI: TCursorInfo;

    CI.cbSize := SizeOf(CI);
    GetCursorInfo(CI);
    AtackPic.Picture.Icon.Handle := CI.hCursor; //получаем хэндл на курсор.
Допустим я навожу на кнопку в чужом приложении, и выполняю этот код к примеру при нажатии на какую нибудь кнопку, у меня в рисунок вставляется рисунок курсора а AtackPic.Picture.Icon.Handle хранит номер этого курсора.
Если я перевожу в число то получаю номер
inttostr(CI.hCursor) к примеру равный 3259. Но при каждом запуски программы он разный. Мне и надо получать его номер!
BarakudaX777 вне форума Ответить с цитированием
Старый 14.06.2010, 21:30   #7
BarakudaX777
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от alexprey Посмотреть сообщение
Если тебе просто нужно достать эти курсоры юзай прогу ResHacker
Нет спасибо, мне нужно не вытащить курсор. Мне нужно получить его номер чтобы знать когда мы навели на кнопку.
BarakudaX777 вне форума Ответить с цитированием
Старый 14.06.2010, 21:36   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хендл каждый раз будет разный, это все верно, но это не номер, не нужно путать.
вам уже сказали, вытяните нужной курсор из файла, потом просто грузите его сами из себя самого

Цитата:
Мне нужно получить его номер чтобы знать когда мы навели на кнопку.
хм, а может проще проверять окно под курсором и если это наша кнопка, то чтото делать?
+есть еще перехват сообщений
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 14.06.2010 в 21:40.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.06.2010, 22:02   #9
BarakudaX777
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
хендл каждый раз будет разный, это все верно, но это не номер, не нужно путать.
вам уже сказали, вытяните нужной курсор из файла, потом просто грузите его сами из себя самого

хм, а может проще проверять окно под курсором и если это наша кнопка, то чтото делать?
+есть еще перехват сообщений
Я реализовал это. Просто хотел оптимизировать. У меня все работает, если програмно указывать ему нужный курсор. Просто хотелось бы чтобы пользователи ничего не замудрялись.
Ну спасибо за дискуссию. Ладно думаю оставлю все как есть.
BarakudaX777 вне форума Ответить с цитированием
Старый 14.06.2010, 22:39   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
хм, а может проще проверять окно под курсором и если это наша кнопка, то чтото делать?
чем этот вариант не подходит?(он куда уж проще, и можно полностью автоматизировать...все что нужно это пара FindWindow/FindWindowEx для определения хендла нужной кнопки, и затем
Код:
function WindowFromCursor:HWND;
var r:TPoint;
begin
 GetCursorPos(r);
 Result:=WindowFromPoint(r);
end;
для определения окно под курсором)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод не нужного при поиске файлов coNsept Общие вопросы C/C++ 5 28.04.2010 19:11
Как сделать поиск нужного слова в TextBox 3dgraph Общие вопросы .NET 2 30.06.2009 10:55
AdoTable поиск от курсора Deight БД в Delphi 4 20.04.2009 08:17
Отсечение нужного кода -HunteR- Помощь студентам 6 25.06.2008 16:16
задача Делфи - поиск нужного и замена Katovski Помощь студентам 8 30.05.2008 21:28