| eXeL@B —› Вопросы новичков —› С чего начать? | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 27 августа 2006 17:04  · Личное сообщение · #1  | 
| 
 | 
Создано: 27 августа 2006 21:38  · Личное сообщение · #2  | 
| 
 | 
Создано: 27 августа 2006 23:07  · Личное сообщение · #3 Lukar1, только тебе придётся параллельно изучать Win32 API и PE-формат. Когда патчер сделаешь, попробуй какую-нибудь штуковину и интересной логикой сотворить, например консольный скринсейвер "Матрица". А выглядеть он может так (этот на C++ сделали):   08c1_27.08.2006_CRACKLAB.rU.tgz - matrix.scr
----- Всем привет, я вернулся ![]()  | 
| 
 | 
Создано: 29 августа 2006 15:51  · Личное сообщение · #4  | 
| 
 | 
Создано: 29 августа 2006 16:14  · Личное сообщение · #5  | 
| 
 | 
Создано: 29 августа 2006 17:34  · Личное сообщение · #6 У спасибо . А я думал по другому. Ну раз так дело пошло я щас как не пытался не мог понять этого: invoke GetModuleHandle,0 mov [hinstance],eax invoke LoadIcon,0,IDI_APPLICATION mov [wc.hIcon],eax invoke LoadCursor,0,IDC_ARROW mov [wc.hCursor],eax mov [wc.style],0 mov [wc.lpfnWndProc],WindowProc mov [wc.cbClsExtra],0 mov [wc.cbWndExtra],0 mov eax,[hinstance] mov [wc.hInstance],eax mov [wc.hbrBackground],COLOR_BTNFACE+1 mov [wc.lpszMenuName],0 mov [wc.lpszClassName],_class invoke RegisterClass,wc конец. Вот вопрос: invoke GetModuleHandle,0 mov [hinstance],eax Это берем хэндл нашей программы и сохраняем переменную [hinstance] в eax я ведь правильно думаю? И еще одна просьба. Если можно хотябы кратчайшее пояснение че она делает. Я дак понял это связано с интерфейсом. invoke LoadIcon,0,IDI_APPLICATION-загружаем поименованый ресурс пиктограммы. бля бля бля invoke LoadCursor,0,IDC_ARROW-загружаем поименованый ресурс курсора. Может быть мой предроложение не правильны. Но не судите строго . Сижу с 2 справочниками и разбираю как работает. Спасибо заранее благодарен. ![]()  | 
| 
 | 
Создано: 29 августа 2006 22:41  · Личное сообщение · #7 Lukar1 пишет: Вот вопрос: invoke GetModuleHandle,0 mov [hinstance],eax Это берем хэндл нашей программы и сохраняем переменную [hinstance] в eax я ведь правильно думаю? Наоборот.Функция GetModuleHandle возвращает хендл процесса в еах,а потом здесь mov [hinstance],eax это значение переносится из регистра еах в переменную [hinstance]. Lukar1 пишет: У спасибо . А я думал по другому. Ну раз так дело пошло я щас как не пытался не мог понять этого: invoke GetModuleHandle,0 mov [hinstance],eax invoke LoadIcon,0,IDI_APPLICATION mov [wc.hIcon],eax invoke LoadCursor,0,IDC_ARROW mov [wc.hCursor],eax mov [wc.style],0 mov [wc.lpfnWndProc],WindowProc mov [wc.cbClsExtra],0 mov [wc.cbWndExtra],0 mov eax,[hinstance] mov [wc.hInstance],eax mov [wc.hbrBackground],COLOR_BTNFACE+1 mov [wc.lpszMenuName],0 mov [wc.lpszClassName],_class invoke RegisterClass,wc Попробую обьяснить..Сначала как и в начале любой программы определяем хендл нашего процесса..Потом подгружаем ресурсы - иконку и курсор...Дальше идет регистрация класа окна через function RegisterClass(var WndClass: TWndClass): Bool; Так вот все эти mov формируют клас окна(который является структурой wc), тоесть определяют его свойства - стиль,процедуру обработчика,курсор,иконку,фон и т.д. ![]()  | 
| 
 | 
Создано: 29 августа 2006 23:29  · Личное сообщение · #8  | 
| 
 | 
Создано: 08 сентября 2006 04:12  · Личное сообщение · #9  | 
| eXeL@B —› Вопросы новичков —› С чего начать? | 





 

 Для печати