Поскольку у вас, кажется, есть рабочие отношения с поставщиком проприетарного программного обеспечения, возможно, вы можете спросить их, как они вызывают winword.exe, чтобы открыть файл. Если они просто делают системный вызов для запуска winword.exe и передают ему имя открываемого файла, то все или большинство решений, перечисленных ниже, должны работать. Сначала я перечислю самые простые. Если они используют COM или DDE, это невозможно перехватить, но потребует значительно больше работы.
Если они указывают, что делают системный вызов для запуска winword.exe (или если они не сообщат вам об этом, просто предположите, что это может сработать, и попробуйте ...):
- Перейдите в папку, где установлен LibreOffice Writer. Я использую OpenOffice вместо LibreOffice, но они очень похожи, поэтому вам, возможно, придется немного поохотиться.
- Найдите файл "Writer" .exe. Для меня (OpenOffice) это:
D:\Program Files\OpenOffice.org-3\program\swriter.exe
- Сделайте копию найденного файла "Writer" .exe и переименуйте его в «winword.exe».
- Убедитесь, что он остается в той же папке, что и существующий файл "Writer" .exe.
- Убедитесь, что папка, в которой он находится, названа в переменной среды "Путь".
Если у вас возникли проблемы или вопросы по этому процессу, просто укажите некоторые детали в комментарии.
Если вышеперечисленное не работает, вы можете попробовать "Перенаправить" открытие Winword. Две возможности сделать это:
Способ 1:
- Создайте ссылку на LibreOffice Writer. Назовите ссылку winword.lnk или winword.exe.lnk. Это может зависеть от того, как проприетарная программа вызывает Winword.
- Поместите файл ссылки в папку с именем в переменной среды "Путь".
В зависимости от используемой версии Windows может быть создано несколько типов ссылок, и некоторые из них могут работать в вашем случае, а другие - нет.
Способ 2:
- Используя язык программирования, который можно скомпилировать в файл .exe (например, C или Visual Basic), создайте небольшую программу-обертку.
- Программа-оболочка просто принимает аргументы командной строки и вызывает LibreOffice Writer, передавая аргументы.
- После компиляции оболочки переименуйте файл .exe, созданный в winword.exe, и поместите его в папку с именем в переменной среды "Путь".
Если вы не найдете ни одной из этих работ или если они скажут вам, что используют DDE или COM для вызова Winword, то и Visual Basic, и C могут быть запрограммированы для ответа на сообщения / запросы DDE / COM, хотя это не тривиальная задача.
Редактировать:
Вы можете просмотреть переменную "Path"
следующим образом:
- Откройте командную строку, нажав кнопку "Пуск" Windows ("Пуск"), а затем нажмите
"Command Prompt"
. Если вы не видите ярлык "Command Prompt"
в меню "Пуск", щелкните поле "Поиск" в нижней части меню "Пуск" и введите:
cmd.exe
Enter
- В окне командной строки введите:
C:>echo %Path%
C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
C:>
Это покажет строку, которая является списком папок, разделенных ";"
(точка с запятой). Строка, отображаемая на вашем компьютере, будет отличаться.
Если вы не можете найти нужную папку в списке папок, содержащихся в переменной Path
, вы можете добавить имена папок в Path
:
- Нажмите кнопку Пуск (шар)
- В меню "Пуск" выберите «
Computer
чтобы открыть "My Computer"
, затем нажмите "System Properties"
в контекстном меню под строкой меню. Или в меню Пуск щелкните правой кнопкой мыши Computer
и выберите "Properties"
- В левой части окна
"My Computer"
нажмите "Advanced system settings"
- Нажмите на вкладку
"Advanced"
.
Нажмите кнопку Environment Variables
Из этого маленького окна, которое открывается, вы можете добавлять / редактировать / удалять переменные окружения.
Существует два типа переменных среды. System variables
доступны всем пользователям компьютера. User variables
могут быть разными для каждого пользователя.
Верхняя половина окна предназначена для управления User variables
, а нижняя - для управления System variables
. Чтобы управлять переменными только для вошедшего в систему пользователя, работайте в разделе « User variables
», в противном случае - в разделе « System variables
».
Если переменная имеет значение для разделов « System variables
и « User variables
, то значение в разделе « User variables
» будет иметь приоритет.
Имена переменных не чувствительны к регистру, поэтому переменная с именем "Path"
может быть записана как "path"
или "PATH"
. В любом случае, это одна и та же переменная.
Предположим, вы хотите отредактировать "Path"
в разделе « System variables
» (что было бы обычным случаем).
- В разделе
System variables
найдите переменную Path
и щелкните по ней. Затем нажмите кнопку Изменить ...
- Если вы не нашли переменную
Path
(вы наверняка найдете), вы можете нажать кнопку New ... , чтобы добавить новую переменную и присвоить ей имя Path
.
В окне « Edit System Variable
щелкните в поле "Значение переменной" (текстовое поле).
В целях безопасности было бы неплохо создать копию текста (значения), которое в данный момент находится в текстовом поле, и сохранить его в текстовом файле на рабочем столе.
Добавьте папку в текущую переменную Path
, переместившись в конец текста в текстовом поле, затем введите a ;
(точка с запятой), а затем введите полный путь к папке, которую вы хотите добавить, и нажмите кнопку ОК .
Так что в вашем случае вы можете увидеть, что значение переменной Path
начинает выглядеть примерно так:C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
и после добавления папки в переменную Path
она может выглядеть примерно так:C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem;D:\Program Files\LibreOffice\program\
Теперь вы можете нажать кнопку ОК , чтобы закрыть окно « System Properties
, и вы можете закрыть окно « My Computer
.
Переменные среды обычно читаются программами только при запуске. Таким образом, любая программа, которая запускается после изменения значения переменной среды, добавления новой переменной среды или удаления переменной среды, обычно будет видеть среду, содержащую новые (измененные) значения.
Для программ, которые уже запущены, вам может потребоваться закрыть и перезапустить их или перезагрузить компьютер, прежде чем они увидят новые (измененные) значения.