Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблемы с файлом autoexec


Samanta

Рекомендуемые сообщения

Стоит XP Service pack 2

Есть программа под DOS с кадастром населения. При поиске по ФИО клавой не воспринимается переключение рус/англ ни в какую...

При Win'98 все нормально...

В файле autoexec прописано под настройки программы:

PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;c:\dbu;c:\me;c:\util;c:\reestr.22

verify on

set tmp=c:\windows\temp

set temp=c:\windows\temp

mode con codepage prepare=((866) C:\WINDOWS\COMMAND\ega3.cpi)

mode con codepage select=866

keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys

verify on

set clipper=f195

В файле config

DEVICE=C:\WINDOWS\HIMEM.SYS

DEVICE=C:\WINDOWS\EMM386.EXE

dos=high, umb

files=200

buffers=50

device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)

Country=007,866,C:\WINDOWS\COMMAND\country.sys

Ссылка на комментарий
Поделиться на другие сайты

autoexec какой? Нужен тот, что .nt

.bat

Потому как запускаю программу с таким же расширением... с pif'ом вообще не грузится...

А в .nt прописано

REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment.

REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a

REM different startup file is specified in an application's PIF.

Что это значит?

Ссылка на комментарий
Поделиться на другие сайты

Samanta: вам нужно прописать все то, что вы написали в autoexec.bat в файл autoexec.nt (находится в C:\WINDOWS\system32).

В ХР autoexec.bat больше не используется, вместо него теперь

AutoExec.nt = AutoExec.bat

Config.nt = Confog.sys

так что вписывать надо тоже самое и туда же. Кстати, все строчки, начинающиеся с REM - комментарии и их можно удалить.

После этого все должно работать правильно.

Ссылка на комментарий
Поделиться на другие сайты

Программа на фоксе (foxpro)? Если предыдущий совет не поможет, создайте bat файл, в нем пропишите запуск keyrus.com (или найдите rk.com в инете) и затем запуск вашей программы, создайте ярлык для запуска и всё, bat запускаете из в той же папки, где сама программа и туда же положите keyrus.com или в bat файле первой строкой пропишите cd путь_к_папке, напр.

cd c:\reestr.22

keyrus.com

reestr.exe

Переключение прав. клавишей ctrl

KEYRUS.zip

KEYRUS.zip

Изменено пользователем Pili
Ссылка на комментарий
Поделиться на другие сайты

Программа на фоксе (foxpro)? Если предыдущий совет не поможет, создайте bat файл, в нем пропишите запуск keyrus.com (или найдите rk.com в инете) и затем запуск вашей программы, создайте ярлык для запуска и всё, bat запускаете из в той же папки, где сама программа и туда же положите keyrus.com или в bat файле первой строкой пропишите cd путь_к_папке, напр.

Спасибо, сработало! Программа на фоксе, правда из под ХР запускалась без проблем, но видимо это операционка так поставлена была... тем менее пусть и с подвывертами, но работает :)

Гран мерси! :)

Ссылка на комментарий
Поделиться на другие сайты

А можно как-нибудь прописать про этот keyrus в самом реестре regedit?

А то мне жутко от проделанных манипуляций :)

Ссылка на комментарий
Поделиться на другие сайты

а смысл? те же костыли, только вид сбоку...

ну раз так хочется править реестр, то вот другой способ (без внешних программ типа keyrus)

Вопрос: В DOS-приложениях не переключается раскладка клавиатуры на русскую, хотя русские буквы отображаются нормально.

Ответ: Для решения необходимо в реестре по адресу:

HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> KeyboardLayout

изменить значение ключа 00000409 в папке DosKeybCodes на "ru".

Кроме этого, в файле "autoexec.nt", расположенном в Windows\system32, надо добавить строку "lh %SystemRoot%\system32\kb16.com ru" (без кавычек). После перезагрузки переключение раскладки клавиатуры в DOS-приложениях будет производиться комбинациями Ctrl+Left Shift (английская) и Ctrl+Right Shift (русская). Данный метод нормально работает в том случае, если Language settings for the system (апплет Regional Options) в качестве Default стоит Cyrilic.

Выполнение данного способа можно автоматизировать с помощью вот такого скрипта:

'Скрипт для ввода русских букв в DOS-сессиях NT-систем'*********************************************************Option ExplicitDim WshShell,objFSO 'просто обьектыDim strFile 'путь в System32Dim objFile 'имя autoexec.ntDim strCharacters 'строка символовDim numbCharacters 'кол-во совпадений в строкеset WshShell = WScript.CreateObject("WScript.Shell")Set objFSO = CreateObject("Scripting.FileSystemObject")'Читаем файл autoexec.ntstrFile = WshShell.ExpandEnvironmentStrings("%WinDir%") & "\system32\autoexec.nt"Set objFile = objFSO.OpenTextFile(strFile, 1)Do Until objFile.AtEndOfStreamstrCharacters = objFile.ReadLinenumbCharacters = inStr(1,strCharacters,"kb16")if numbCharacters<>0 ThenWscript.Echo "Уже установлено! Проверьте"Wscript.Echo strCharacterswscript.echo "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes\00000409 = " _& WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes\00000409")Exit DoEnd ifLoopobjFile.Close'если kb16.com не найден то мы его добавляемif numbCharacters = 0 ThenSet objFile = objFSO.OpenTextFile(strFile, 8) 'открываем файл на добавление информацииobjFile.WriteLineobjFile.WriteLine "REM Ввод букв DOS сесиях"objFile.WriteLine "lh %SystemRoot%\system32\kb16.com ru"objFile.CloseWshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes\00000409","ru"wscript.echo "Изменения завершены"End if------------------------------------------------

копируем весь этот текст в файл с расширением vbs (например ru_dos.vbs) и запускаем на том компьютере, который хотим переделать.

Перезагружаемся и проверяем.

З.Ы. После выполнения запуск keyrus через батник - отключаем.

Ссылка на комментарий
Поделиться на другие сайты

Вопрос: В DOS-приложениях не переключается раскладка клавиатуры на русскую, хотя русские буквы отображаются нормально.

Ответ: Для решения необходимо в реестре по адресу:

HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> KeyboardLayout

изменить значение ключа 00000409 в папке DosKeybCodes на "ru".

Кроме этого, в файле "autoexec.nt", расположенном в Windows\system32, надо добавить строку "lh %SystemRoot%\system32\kb16.com ru" (без кавычек). После перезагрузки переключение раскладки клавиатуры в DOS-приложениях будет производиться комбинациями Ctrl+Left Shift (английская) и Ctrl+Right Shift (русская). Данный метод нормально работает в том случае, если Language settings for the system (апплет Regional Options) в качестве Default стоит Cyrilic.

Именно это мне и помогло :doh:

Спасибо большое!!!

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...