Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

Как безболезненно удалить из программы иконку?   Найти похожие ветки 

 
kseno   (2004-11-03 16:25) [0]

Как безболезненно удалить из программы иконку?
Такой код повреждает саму программу:
    hUpdate:=BeginUpdateResource("new.exe", true);
    EndUpdateResource(hUpdate, False);


 
kseno   (2004-11-03 18:20) [1]

А?


 
Digitman ©   (2004-11-03 18:21) [2]


> Как безболезненно


поручив это анестезиологу


> Такой код повреждает саму программу


угу.. так и говорит, мол, повреждаю..

не надо нести "чушь прекрасную"(с).
даже когда очень хочется.


 
kseno   (2004-11-03 18:48) [3]

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

до инфаркта доведет...

анестезиолог... уже поздно...


 
Alex_Petr ©   (2004-11-03 20:15) [4]

А может исходная программа сжата,
например, ASPack -ом, или защита стоит ?


 
kseno   (2004-11-03 20:44) [5]

Нет, просто специально пустой проект откомпилен...


 
GuAV ©   (2004-11-03 21:09) [6]

Во первых код в [0] удаляет не только иконку.
Во вторых сабж 100%но програмно - никак.


 
Игорь Шевченко ©   (2004-11-03 23:29) [7]

GuAV ©   (03.11.04 21:09) [6]


> Во вторых сабж 100%но програмно - никак.


Точно ? А вот Visual Studio вроде умеет, хотя та же программа...


 
GuAV ©   (2004-11-03 23:54) [8]

Игорь Шевченко ©   (03.11.04 23:29) [7]
Точно ? А вот Visual Studio вроде умеет, хотя та же программа...


ИМХО точно. "Безболещненно" - никак.

Я о том что кодом [0] удаляется иконка но повреждается программа. Возможно если удалить толко иконку пустое приложение будет работать. Однако не известно нету ли в коде других ссылок на MAINICON. Не известно даже что приложение на дельфи.
И [4] возможно.

В прочем в случае [5] возможно и получится.


 
Игорь Шевченко ©   (2004-11-04 00:26) [9]

GuAV ©   (03.11.04 23:54) [8]

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


 
GuAV ©   (2004-11-04 01:04) [10]

Игорь Шевченко ©   (04.11.04 0:26) [9]

Фейерверк непермено начнётся как только выяснится что в туда где часики вешать нечего ;)

Ладно, согласен что был не прав.


 
kseno   (2004-11-04 07:43) [11]

Я о том что кодом [0] удаляется иконка но повреждается программа. Возможно если удалить толко иконку пустое приложение будет работать. Однако не известно нету ли в коде других ссылок на MAINICON. Не известно даже что приложение на дельфи.
И [4] возможно.
В прочем в случае [5] возможно и получится.


Совершенно обычный пустой дельфовский проект - даже иконка стандартная по умолчанию...

Хорошо. Добавляю такую строку между первыми двумя:
UpdateResource(hUpdate, RT_ICON, "MAINICON",0, nil, 0);

Теперь ошибку выдает еще и сама программа-"редактор". Да еще как интересно выдает - отрабатывает всё, а когда пытаешься завершить её, тут то и появляется окно с ошибкой...

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

Но ведь возможно же, банально удалив икону из *.res, откомпилить проект и получить программу без иконы - с дефолтовым синим прямоугольником...


 
*Pavel ©   (2004-11-04 09:07) [12]

Такие вещи с ресурсами могут делать многие программы, допустим, тот же ResHacker.
>> kseno
UpdateResource катит только под NT-подобные ОС. Какая у тебя ?


 
kseno   (2004-11-04 11:36) [13]

Такие вещи с ресурсами могут делать многие программы, допустим, тот же ResHacker.
У меня даже исходники есть подобной программы, но там все как-то очень уж нелогично. Я конечно разберусь, но просто думал - мало ли кто-нибудь и так что-нить посоветует.

UpdateResource катит только под NT-подобные ОС. Какая у тебя ?
У меня XP...
Не, ну понятно - раз функция вызывается и какой-то результат все же есть, то дело не в библиотеках...


 
GuAV ©   (2004-11-04 13:34) [14]

kseno   (04.11.04 7:43) [11]

   hUpdate:=BeginUpdateResource("new.exe", true);
   EndUpdateResource(hUpdate, False);

Ture - удаляет все существующие ресурсы.
Поставь там False.


 
kseno   (2004-11-04 19:42) [15]

Все-равно... ладно, бог с ним, но покоя не даст, пока не напишу...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1098092071
Kerk
2004-10-18 13:34
2004.11.21
Значение первичного ключа


14-1099397598
R.O.O.T
2004-11-02 15:13
2004.11.21
Из-за чего перегружается компьютер


6-1094665025
Klopan
2004-09-08 21:37
2004.11.21
IRC by TelNet


4-1097318593
TeNY
2004-10-09 14:43
2004.11.21
Нажатие Enter?


14-1099881443
Думкин
2004-11-08 05:37
2004.11.21
С днем рождения! 8 ноября





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский