|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.06.2010, 22:20 | #21 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну вообще то это уже контекст не вашего процесса, так как ваш код вызывается загрузчиком, а не сам по себе работать начинает
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.06.2010, 04:07 | #22 | ||
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Цитата:
Цитата:
|
||
22.06.2010, 09:21 | #23 | |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
Цитата:
Собиралось так: Код:
|
|
22.06.2010, 09:53 | #24 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
coinkrsk
раз уж занялись подобными вещами то без hiew32 не обойтись, а если без hiew32, то загляните внутрь собранного EXE хотя бы через FAR или NORTON COMANDER и нажмите F3 и поиском постарайтесь найти kernel32.dll или advapi32.dll если их там нет -- значит функции оттуда не импортируются |
22.06.2010, 18:28 | #25 | |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
Цитата:
Код:
Я вызваю даблкликом MyAppication.exe из explorera что само по себе есть CreateProcess - API функция из kernel32.dll, которая создает окружение и первичный поток и запускает его через мою точку входа - WinMain. Далее работает мое приложение и по команде RETN закрывает созданный для него поток, что вызвает ExitProcess и окончательно завершает работу. Но ведь ExitThread вызываемый по команде RETN, что тоже есть API функция из kernel32.dll. Как так получается, я ведь не могу иметь на нее указатель без подключенной библиотеки? Как тогда может вообще корректно завершаться поток? Мое приложение просто отдает бразды правления наверх и уже вызванный процесс сам вызвает свое завершение? По какой команде это происходит? |
|
22.06.2010, 18:56 | #26 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
CreateProcess->CreateThread(точка начала которого и есть ваша точка входа)->Application->Retn(возрат производится в kernel32)->ExitThread(завершается поток вашего приложения)
то есть ваше приложение использует kernel32 не явно, а если быть точным то именно за счет kernel32 ваше приложение и запустилось. kernel32 присутствует в памяти вашего процесса. Цитата:
вы лишь делаете возврат обратно в Kernel32 который затем корректно завершает процесс можно сказать так, что kernel32 делает call вашему процессу(точнее по адресу точки входа) и потом вы обратно возвращаетесь. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
23.06.2010, 11:14 | #27 |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
Итак, некая картина мира в моей голове сложилась, за что всем спасибо и отдельно Пепел Феникса. Можно двигаться дальше
/me ушел воевать с отдалчиком |
24.06.2010, 22:57 | #28 |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
За ликвидацию моей безграмотности всем спасибо
|
25.06.2010, 04:01 | #29 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
coinkrsk
Коли уж решение вами найдено, было бы хорошо, если бы вы объяснили как эта проблема была решена |
25.06.2010, 11:02 | #30 |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
Решилось вызовом CsrClientCallServer из ntdll.dll.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
IPHLPAPI.DLL в windows 7 | Horus92 | Работа с сетью в Delphi | 1 | 15.06.2010 09:55 |
bass.dll в windows 7 | Virus191288 | Мультимедиа в Delphi | 7 | 27.11.2009 07:48 |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
Как убрать маскировку пароля без dll?? | techner | Win Api | 4 | 20.04.2007 20:10 |