Windows 98/Me

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Post by aav8 »

могу и ошибиться - но кажется комбинация
Ctrl+Alt+Shift+Del выгружала эксплорер.
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Я тут попытался программно добраться до вызова вот этого окна:
"Завершение работы программы", которое под Вендой-98 называют
менеджером задач, и вылезает оно по комбинации Ctrl+Alt+Del:

Image

В старших версиях Венды (ну точно в ХР) это просто - вызвать, к примеру, через
ШеллЕкз taskmgr.exe.

В Венде-98 такого нет, есть вон тот taskman.exe - "Задачи" который считают
атавизмом предыдущей Венды 3.хх...

Интерес представлял для меня тот факт, что кроме как через нажатие Ctrl+Alt+Del
в Венде-98 окно "Завершение работы программы" я не знаю возможности
вызвать иначе...

И вот что у меня получилось...

Само это окно "Завершение работы программы" в Венде-98 находится в библиотеке
KERNEL32.DLL. Но способов вызвать его из KERNEL32.DLL я не нашел...

Первое, что приходит в голову - виртуально нажать Ctrl+Alt+Del через вызов
keybd_event( ... ), но для комбинации Ctrl+Alt+Del это не срабатывает...
Я погуглил - этот фокус ни у кого не работает, объясняют это якобы исключительностью
комбинации Ctrl+Alt+Del с точки зрения мелкомягких...

Следующее, что я нашел в сети - послать сообщение всем верхним окнам:

Code: Select all

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_TASKLIST, -1)
обещают, что в Венде-ХР это как раз вызывает менеджер задач ,
но в Венде-98 это вызывает лишь меню кнопки "Пуск".

Ещё существует вариант - послать сообщение всем верхним окнам:

Code: Select all

PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG(MOD_ALT | MOD_CONTROL, VK_DELETE));
Это должно по идее получиться сообщение о горячей комбинации клавиши DELETE с
модификатрами CONTROL и ALT.

Трюк сработал своеобразно... он вызвал вот это окно:

Image

И ни на какие изменения lParam = MAKELONG(MOD_ALT | MOD_CONTROL, VK_DELETE)
реакции не было... Всё время вылезало окно: Запуск программы.

Я решил попробовать на что влияет wParam=0 в исходном варианте.
И вот тут вариантов оказалось много:

Code: Select all

wParam=
' 1 - Свернуть все окна
' 2 - ничего не происходит
' 3 - вызов Справки Винды
' 4 - вызов Проводник - Мой Компьютер
' 5 - вызов Найти: все файлы в текущей директории
' 6 - вызов Найти: Компьютер
' 7 - ставит фокус на первую задачу в панели задач
' 8 - ставит фокус на (пред)последнюю задачу в панели задач
' 9 - вызов Свойства: Система
' 10 - Свернуть все окна
' далее коды не дают эффекта
А вот когда я перезапустил Венду-98 без Explorer-a ни один из этих вариантов
не сработал...
Получается, что это вызовы горячих комбинаций самого Explorer-a ...

А как всё-таки программно нажать комбинацию Ctrl+Alt+Del под Вендой-98?
Ну или программно вызвать - менеджер задач: "Завершение работы программы"?
iLavr
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:1. Речь шла только о Windows 95.
...
3. Хоткей оказался простым - Ctrl+Esc.
Нашел у себя на работе брендовую 486-ю машину с 95-й вендой...

Ну и проделал эти эксперименты...
Не оказалось на ней WinCMD, поэтому в качестве шелла ставил PROGMAN.EXE и WINFILE.EXE.

Действительно, по Ctrl+Esc всплывает TASKMAN.EXE, но, что интересно,
95-я Венда не любит оставаться без шелла.

Если в 98-й Венде единственная задача-оболочка спокойно закрывается и Венда
остаётся"голой", то в 95-й Венде попытка снятия или просто закрытия приложения оболочки
вызывает окно с предложением о завершении работы Венды.
aav8 wrote:могу и ошибиться - но кажется комбинация
Ctrl+Alt+Shift+Del выгружала эксплорер.
У меня почему-то не случилось... хотя торопился - не проверил вариации Ctrl...Alt... и Shift-ов.
iLavr
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: CMD/BAT - Проблема с кодировками в cmd

Post by Lavr »

Lavr wrote:
Вся гуя в русской (и даже в нерусской - не помню уже от чего зависит) винде работает в 1251, а консоль в 866. Можно в реестре нагло заменить 866 на 1251 , но имхо, если не стоит производственной необходимости - лучше не парится
мне в молодости помогало ... set nls_lang=russian_cis.ru8pc866 выполнить
но это решает только в частном случае...
Кажется даже Microsoft не знает где собака зарыта.
Что-то мне кажется, проблема вот в чем: консольные приложения Винды должны учитывать
эту особенность сами (GUI в винде работает в 1251, а консоль - в 866).
То есть, если консольное приложение Венды тужится сказать "Рабочий стол" в 1251,
то и получится это самое: "¦рсю¢шщ ёªюы", поскольку Венда ожидает всё в 866 и
в 866 то, что ей "сказали" интерпретирует.
iLavr
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Windows 98/Me

Post by Lavr »

Джентльмены! Присоветуйте мне хороший антивирус под Windows 98 и хорошую
утилиту тестирования HDD
.
Так случилось, что недели 3 назад уронил я свой любимый ноутбук с компьютерного столика
вместе с подключенным к нему внешним дисплеем...
После инцидента ноут никаких признаков неисправности не подавал, и даже упав, работал лежа
на боку - я еще подумал, какой крепкий у меня ноут, хотя ему "в обед" если не 20, то уж
точно 18 лет... :mrgreen:
Но вот через 3 недели полезли у меня бэды на HDD: :osad:
BadHDD.gif
Ну... это вроде не должно бы в данной ситуации удивить - грохнул устаревший ноут на пол... :-?
Только вот лезут бэды довольно странно: Виндавозный scandiskw и ДискДоктор от Symantec
могут крутиться круглые сутки и не находят бэдов.
Бэды находит сугубо ДОС-вский scandisk при старте Виндовс, причем на вид тоже странно -
иногда он весело проскакивает и не находит бэдов, а иногда прямо на глазах мучительно
притормаживает и вот тут то бэды находятся.
Во время работы Венды это иногда проявляется синим экраном с предупреждением:
"Не могу произвести запись на диск С: данные могут быть утеряны"
после этого Венда в 99% продолжает работу, но ДискДоктор от Symantec находит потерянные кластеры.

Я вот озадачился - не выцепил ли я за три недели какой специфичный вирусок...
И странно еще: рекомендуемые широко утилиты по тестированию дисков -
MHDD, HDDScan, Victoria-4.3 мой HDD просто не видят! :o
You do not have the required permissions to view the files attached to this post.
iLavr
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Re: Windows 98/Me

Post by aav8 »

А посторонних звуков HDD не издает?
(может кусочки магнитного слоя летают внутри)?
Надо прогнать Norton Disk Doctor по поверхности 2 раза - если результат одинаковый (новых плохих блоков не найдено) -
значит состояние винта стабильное.
Нужно просто начало винта выбросить. И перенести/переустановить винду.
Если плохие блоки то появляются/то исчезают - HDD на помойку 8-(
Я так вылечил в те года один из компов. Была Win95. Выкинул первые 10мегов... А до этого работала ровно неделю.
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Windows 98/Me

Post by Lavr »

aav8 wrote:А посторонних звуков HDD не издает? (может кусочки магнитного слоя летают внутри)?
Вроде не замечал такого... но HDD сам по себе странный: если ничего не работает - винты обычно засыпают.
Но этот со строгой периодичностью "дергает" головками. Мне объяснили, что у него фича такая и она у него была всю жизнь.
aav8 wrote:Надо прогнать Norton Disk Doctor по поверхности 2 раза - если результат одинаковый (новых плохих блоков не найдено) - значит состояние винта стабильное.
Norton Disk Doctor я включаю на ночь и он отрабатывает по поверхности до 20 раз, но результат одинаковый (новых плохих блоков не найдено) !
А вот если запускается ДОС-вский scandisk при старте Виндовз - бэд-блоки он находит! :o
aav8 wrote:Нужно просто начало винта выбросить. И перенести/переустановить винду.
Я тоже пришел к решению, что надо блоки, где Norton Disk Doctor спотыкается - а это видно по счетчику блоков,
что на некоторых он притормаживает, эти блоки как-то надо объявить принудительно бэдами - но вот какой утилитой это сделать?

Я хотел прогнать calibrate из пакета NU под ДОС... но вот не помню - не рушит ли он файловую систему Венды?
А в Интернете про calibrate уже и не помнят, хотя он серьёзно отбраковывал бэды - но и запускался примерно на сутки... :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Windows 98/Me

Post by Lavr »

В общем посмотрел я сегодня на свой жесткий диск "в лицо" и даже плохого сказать нечего... :-?
Photo-0050.jpg
Всё, что можно заклеить, в нём заклеено и даже навредить не где! :esurprised:
(хотел капнуть вакуумного масла в шпиндель)...
Судя по звукам шпиндель подразбивает, что, впрочем, не удивительно,
поскольку этому HDD действительно 17...18 лет. :o

Кое-где такие в музее давно лежат... :lol:
Hitachi 2.5-inch Hard Disk Drive
model DK228A-65 6.4 GB
You do not have the required permissions to view the files attached to this post.
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Windows 98/Me

Post by jdigreze »

В былые времена для экспресс диагностики на бэды я использовал HddSpeed, он, кстати, с исходниками на паскале. Если есть реальные бэды, то на графиках будут провалы.

А боролся с бэдами с помощью NDD и MHDD. Последнего, на сколько помню, надо иметь несколько разных версий - не определяются некоторые винты.

В крайнем случае "отрезал" осыпавшуюся область PartitionMagic'ом.
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Re: Windows 98/Me

Post by aav8 »

Как мне помнится, в NDD можно было мышку навести на блок, и появится сообщение, какие файлы находятся в этом блоке.
На эти файлы поставить атрибуты: системный, скрытый, и еще какой-то (не помню, а может и необязательно.
Они станут невидимыми и НЕПЕРЕМЕСЧАЕМЫМИ. Предварительно их СКОПИРОВАТЬ и переименовать в что-то похожее на 00000.bad 000001.bad...
А еще лучше где-нибудь взять оригиналы.
Я таким образом на некоторое время продлевал срок службы дискет.
Вообще-то полное форматирование должно помечать bad блоки в FAT.
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Windows 98/Me

Post by jdigreze »

Если пошла деградация поверхности, то форматирование не спасёт - только "отрезание" части дорожек, и то, только на время.
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Windows 98/Me

Post by Lavr »

jdigreze wrote:боролся с бэдами с помощью NDD и MHDD. Последнего, на сколько помню, надо иметь несколько разных версий - не определяются некоторые винты.
Вот у меня MHDD не определил винт... :-?
jdigreze wrote:В крайнем случае "отрезал" осыпавшуюся область PartitionMagic'ом.
Весь анекдот, что мне бы как-то "спасти" ЭТУ Венду, что на винте...
Я вчера, когда вынимал HDD, посмотрел, что к ситуации, что он сдохнет, я давно приготовился.
Мой внешний USB-диск на 40 GB, который я таскаю как флешку, имеет предустановленную прямо
на моём ноутбуке Венду-98.
И он отлично встает на место этого Hitachi Hard Disk Drive model DK228A-65.
Но "лысая" Венда-98 - это страшно! :o Я вчера попробовал, мне стало жутко! :lol:
Моя-то действующая - она патченная-пропатченная, процентов на 40 она - ХР! :mrgreen:
aav8 wrote:Как мне помнится, в NDD можно было мышку навести на блок, и появится сообщение, какие файлы находятся в этом блоке.
Что-то не замечаю у своего NDD такого функционала, может нужен DOS-овский NDD...

Ну в общем пока scandisk отрезает и отрезает бэды - может все и порежет.

После "вынимания" диска обнаружил, что он очень плохо стартует в "холодном" состоянии...
Надо несколько раз прокрутить scandisk, чтобы диск "оживел".
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Windows 98/Me

Post by jdigreze »

Сними Acronis'ом образ, пока ещё стартует, потом его на другой винт распакуешь.
User avatar
Lavr
Supreme God
Posts: 16703
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Windows 98/Me

Post by Lavr »

jdigreze wrote:Сними Acronis'ом образ, пока ещё стартует, потом его на другой винт распакуешь.
Да меня моя любимая работа и в воскресенье задалбывала подготовкой и правкой каких-то срочных документов... :osad:
А так-то я просто хочу перекинуть прямо файлами на USB-диск, и поскольку там стоИт чистенькая Венда - я её спрячу в отдельную
папку, а вместо нее подсуну свою Венду и запущу setupcor - такой трюк с Вендой-98 проходит...

Но перекинуть примерно 6 GB ноутбуком на 366 МГц, надо приличное время. На ночь я перекидывание включить
не могу - имел уже печальный опыт...
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Windows 98/Me

Post by jdigreze »

Самое долгое - снять образ (по моим воспоминаниям), особенно с "битого" диска. А развернуть снятый образ быстрее.

Имхо, снятие образа можно и на ночь поставить, только отключить всякие sleep, а развернуть, к примеру, на работе, под, так сказать, чутким оком. По памяти, на 500-х селиках обе операции вместе занимали часа 4. Но, давно это было - больше 10 лет тому, так что не бьюсь об заклад.

А по-файлово будет зело дольше.