![]() |
|
Модераторы: bsa |
![]()
|
|
| SolRus |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
Подскажите, как в функции ProcessList получить значение hWnd чтоб изменить?
как писать lParam чтоб значение было? понимаю что можно так :EnumWindows(ProcessList, (LPARAM) hWnd); но тогда значение hWnd не изменится :( что-то так доконца с этими ссылками/указателями недоразбирался :( (если что faq читал) =================== и вопрос № 2, не совсем в тему:
Это сообщение отредактировал(а) SolRus - 29.2.2012, 06:07 |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну, если то
Это у Вас C или C++? Адрес чего? Или это значение адреса?
Так можно. k находится в адресном пространстве процесса, занимает 4 байта (для 32-битных систем) или 8 байт (для 64-битных). Ссылается на область памяти с нулевым адресом (ни писать туда, ни читать оттуда нельзя). Т.е.:
Это сообщение отредактировал(а) feodorv - 29.2.2012, 08:26 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
| SolRus |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
точно
это с++ почему нельзя ссылаться на случайный адрес в памяти? или это просто запрет с++ и в с так можно?
из твоей записи показывается что k создается и имеет адрес в памяти, однако если cout << (long) k; выводит 0 , т.е. адрес указателя 0 ? создал второй такой же указатель и у него адрес тоже 0 они создаются?
Нарушение прав доступа при записи "0x00000000". я правильно понял - что этим я пытаюсь перезапись свой код [CS] в памяти? (или сегмент кода начинается не с 0?) отчего кстати можно указывать на нулевой адрес, а на 0x00000001 уже нельзя? |
||||||||||
|
|||||||||||
| feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ой, да нет здесь ничего сложного))) Один раз понять, и всё))) Можно!
В C++ - через type cast. А что же ещё должно было вывеститься?)))) Что значит "k имеет адрес в памяти"? Ээээ, нет. Значение(!) указателя 0!!! Вот представь себе большуший непрерывный набор байт размером, скажем, 4 гига. Каждый байт в этом наборе имеет номер: 0-й байт, 1-й байт .... Этот номер и будет являтся адресом байта. И если написать то это значит для компилятора, что k является номером байта, в данном случае номер байта ноль (по счёту). При этом сама переменная k занимает какое-то пространство в памяти процесса (то есть занимает какие-то 4 байта из диапазона 0-4G), но значением её будет 0. Именно поэтому (long) k даст 0. А вот если захочется понять, какие именно байты в памяти процесса отведены под переменную k, то нужно посмотреть на адрес этой переменной: (long) &k. А вот здесь не задаётся никакой адрес!!!))) В C такой конструкции нет, это C++. Конструкция означает, что переменная k задана по ссылке, и значение переменной есть 0x01010101. На вид никакого адреса, но он всё же невидимо присутствует (и задать его нельзя). Это особый разговор))) Некоторые области памяти процесса (специально!) защищены от чтения или записи.
Нет))) Всего лишь попытка поместить целочисленное 5 в первые 4-е байта памяти процесса, не более)))
Можно на любой, но во всём важен смысл))) Это сообщение отредактировал(а) feodorv - 29.2.2012, 17:45 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |