Samanta Опубликовано 16 октября, 2008 Жалоба Поделиться Опубликовано 16 октября, 2008 Стоит 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Downloader Опубликовано 16 октября, 2008 Жалоба Поделиться Опубликовано 16 октября, 2008 autoexec какой? Нужен тот, что .nt Ссылка на комментарий Поделиться на другие сайты Поделиться
Samanta Опубликовано 16 октября, 2008 Автор Жалоба Поделиться Опубликовано 16 октября, 2008 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. Что это значит? Ссылка на комментарий Поделиться на другие сайты Поделиться
Maikll Опубликовано 16 октября, 2008 Жалоба Поделиться Опубликовано 16 октября, 2008 Samanta: вам нужно прописать все то, что вы написали в autoexec.bat в файл autoexec.nt (находится в C:\WINDOWS\system32). В ХР autoexec.bat больше не используется, вместо него теперь AutoExec.nt = AutoExec.bat Config.nt = Confog.sys так что вписывать надо тоже самое и туда же. Кстати, все строчки, начинающиеся с REM - комментарии и их можно удалить. После этого все должно работать правильно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pili Опубликовано 16 октября, 2008 Жалоба Поделиться Опубликовано 16 октября, 2008 (изменено) Программа на фоксе (foxpro)? Если предыдущий совет не поможет, создайте bat файл, в нем пропишите запуск keyrus.com (или найдите rk.com в инете) и затем запуск вашей программы, создайте ярлык для запуска и всё, bat запускаете из в той же папки, где сама программа и туда же положите keyrus.com или в bat файле первой строкой пропишите cd путь_к_папке, напр. cd c:\reestr.22keyrus.com reestr.exe Переключение прав. клавишей ctrl KEYRUS.zip KEYRUS.zip Изменено 16 октября, 2008 пользователем Pili Ссылка на комментарий Поделиться на другие сайты Поделиться
Samanta Опубликовано 20 октября, 2008 Автор Жалоба Поделиться Опубликовано 20 октября, 2008 Программа на фоксе (foxpro)? Если предыдущий совет не поможет, создайте bat файл, в нем пропишите запуск keyrus.com (или найдите rk.com в инете) и затем запуск вашей программы, создайте ярлык для запуска и всё, bat запускаете из в той же папки, где сама программа и туда же положите keyrus.com или в bat файле первой строкой пропишите cd путь_к_папке, напр. Спасибо, сработало! Программа на фоксе, правда из под ХР запускалась без проблем, но видимо это операционка так поставлена была... тем менее пусть и с подвывертами, но работает :) Гран мерси! :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Samanta Опубликовано 20 октября, 2008 Автор Жалоба Поделиться Опубликовано 20 октября, 2008 А можно как-нибудь прописать про этот keyrus в самом реестре regedit? А то мне жутко от проделанных манипуляций :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Maikll Опубликовано 20 октября, 2008 Жалоба Поделиться Опубликовано 20 октября, 2008 а смысл? те же костыли, только вид сбоку... ну раз так хочется править реестр, то вот другой способ (без внешних программ типа 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 через батник - отключаем. Ссылка на комментарий Поделиться на другие сайты Поделиться
Samanta Опубликовано 20 октября, 2008 Автор Жалоба Поделиться Опубликовано 20 октября, 2008 Вопрос: В 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: Спасибо большое!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения