Vista/W7 - доработка программ для XP

Тема в разделе "WASM.WIN32", создана пользователем provocateur, 3 ноя 2009.

  1. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Y_Mur
    Да уж. Помоему автор просто не понимает как пишутся программы...

    provocateur
    Ы. Советую вам подучить программирование. Виндовские функции любят возвращать статусы ошибок. По ним всегда определишь в чем проблема.
    А ваше "В принцыпе не запускается". Ну если программа даже в WinMain\etc не заходит, ось пишет что файл испорчен - значит - кончайте баловаться с PE заголовком.
     
  2. provocateur

    provocateur Member

    Публикаций:
    0
    Регистрация:
    5 дек 2006
    Сообщения:
    118
    Вспомнил анекдот:
    Заходит американский пользователь на американский форум, спрашивает и получает ответ.
    Заходит еврей на израильский форум, задает вопрос, ему тоже задают вопрос.
    Заходит русский пользователь на русский форум, задает вопрос, а ему пишут какой он гражданин.

    Раньше я на этом форуме такого не видел. Ребята, я понимаю, что все очень умные, все всё знают. Но почему же вы такие невнимательные? В третий раз говорю. Мне хотелось бы увидеть список советов для перевода старых программ под новые ОС, либо для разработки новых программ, чтобы они были совместимы с новыми ОС. Попросили пример, я дал. На самом деле вопрос стоит о том, чтобы в новых программах такого не было, чтобы заранее не создавать ситуации, когда программа обязательно будет с ошибками, а потом думать как эти ошибки отлавливать.

    По поводу очень глубоких знаний г-на TermoSINteZ. Программа не запускается в Vista/2008 без каких-либо исправлений в заголовках исполняемых файлов. Просто не запускается и все. Но может запустится во второй раз.

    Г-ну Y_Mur хочу сказать, что стараться не надо. Программа нормально работает в XP/2003 и не работает в Vista/2008.


    Дальше ситуация еще интересней. Есть один крайне корявый проект, который я однажды попытался чуть-чуть подправить. Правил готовую программу. Никаких исходников нет, т.к. программа является коммерческой (но бесплатной! прошу не путать). В этой программе очень много мелких недочетов, которые я постепенно убирал. Все их убрать невозможно, ковыряться отладчиком сил не хватает, т.к. башка размером не с километр, в отличие от экзешника. В выходом Vista оказалось, что программа в ней не работает. Очень может быть, что не работает вообще не нужная функция, т.к. проект на делфях и там одних копрессоров/распаковщиков три штуки засунуто зачем-то. Хотелось узнать, по каким обычно причинам программы не работают, чтобы иметь возможность попробовать устранить косяк.
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    provocateur
    Если вы считаете что знаете достаточно, и владеете отладчиком, тогда ПОЧЕМУ вы несете откровенный бред (смотрите вышеприведенные мной и Y_Mur ваши цитаты)
    Далее, у винды запуск режима совместимости, попробуйте начать с него.
    Продолжим. Вы тут говорите что программы не ваши и
    Может тогда проще переписать все самому?
    Ну и в четвертых наконец раскрылась тайна:
    Бросайте это грязное дело. Эти компрессоры для дельфей и распаковщики настолько кривы, что я вообще офигеваю как их можно считать "работающими везде на всех виндах".
    Считайте я вам дал рекомендации по исправлению.
    И наконец. Может скинете вашу программу, поглядим.

    А вы привязались к рекомендациями блин. Рекомендации были еще в старых версиях ОС, но они прощали ошибки, а теперь с вводом защит и UAC все ошибки рубятся на корню.
    Я еще раз предупреждаю, скорее всего виноваты ваши пакеры, но всеже приведу простейший список того что лучше не делать и что можно делать в Vista
    1) Программам разрешено писать тока в HRCU разделы реестра
    2) Программам ответеда Application Data куда они могут писать свои данные. Кстати в Windows 7 запрещен запись в Temp. Имейте ввиду.
    3) Различные функции требующие повышения прав (открытие чужого процесса, перечисление процессов в системе и тп)

    И вообще вам эти рекомендации не помогут? Зачем они вам, если у вас нет исходников.
    И раз не хотите переписывать - трассируйте, смотрите где функции возвращают ошибки, анализируйте их. Вот ваша участь. Сочувствую.
     
  4. provocateur

    provocateur Member

    Публикаций:
    0
    Регистрация:
    5 дек 2006
    Сообщения:
    118
    Про компрессоры я выразился недостаточно однозначно. Конечно исполняемый файл упакован, он распаковывается и в таком виде используется. Я просто привел пример как много лишних функций(модулей, пакетов) в программе, например компрессор/распаковщик. Там есть некие данные, которые очень боятся показать, они и упаковываются каким-то кривым способом. Лучше всего конечно переписать эту программу, но слишком уж сложно вытащить данные, которые там лежат. Но это тоже частный случай.

    Непосредственно мою программу я давал, ссылка тут где-то есть. Программа очень и очень и очень простая. Там и нет почти ничего. http://rghost.ru/563414 - у dyn она запустилась без проблем, наверное он имел ввиду, что на висте.

    Вот с этого и начну исправлять.

    Файлы, слава богу, у меня никакие не сохраняются.

    Тоже ничего такого. Но зато есть вопрос на будущее. Подцепить хук WH_CALLWNDPROC (внешняя дллка) к проводнику будет ли караться в новой ОС?

    Исходники от моей утилиты у меня есть. На будущее тоже нужно. Наверное можно поискать чтение/запись в реестр и в чужой программе.


    Спасибо.
     
  5. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
  6. provocateur

    provocateur Member

    Публикаций:
    0
    Регистрация:
    5 дек 2006
    Сообщения:
    118
    Большое спасибо. Именно то, что нужно.