|
Перезапуск професса буфера обмена на терминальном сервере
| ☑ |
0
dkonakov
07.10.14
✎
11:37
|
Доброе утро!
Давно известна такая проблема на терминальном сервере. Локальный буфер не вставляет в удаленный и наоборот. Это случается, прямого лекарства от этого нет.
Поэтому я решил сделать кнопочку в 1с для пользователей, которая бы убивала процесс RDPCLIP и запускала его заново.
Код простой:
Скрипт = Новый COMОбъект("WScript.Shell");
Скрипт.Run("E:\sqlscripts\clipboard_restart.cmd", 0, False);
Содержимое файла ниже:
cls
taskkill /F /FI "USERNAME eq %USERNAME%" /IM rdpclip.exe
ping -n 1 -w 1000 1.1.1.1>nul
start rdpclip.exe
Запуская его из 1с я получаю сообщение, мол, rdpclip не найден.
Копаюсь дальше, ищу этот файл. Пробую открыть его из платформы и файла нет. Из эксплорера есть, из платформы нет. Платформа 8.3.5.1119. Аналогично нет файла и в 8.2.
Непонятно, почему платформа не видит exe файл, причем конкретный. Рядом файлы в System32 видны.
|
|
1
vis_tmp
07.10.14
✎
11:42
|
Атрибуты файла?
Права на файл?
|
|
2
mehfk
07.10.14
✎
11:49
|
(0) Запускай так
%SystemRoot%\sysnative\rdpclip.exe
|
|
3
mehfk
07.10.14
✎
11:50
|
(2)+ Это потому что ты забыл, что программы бывают 32 и 64-битными.
|
|
4
dkonakov
07.10.14
✎
11:53
|
(3) да не забыл. Файла нет как в System32 так и в SysWOW64.
|
|
5
dkonakov
07.10.14
✎
11:55
|
(1) сижу сравниваю два файла rdpinit.exe - файл виден, и файл rdpclip.exe - не виден. Права единые. Но на рабочем столе файл виден.
|
|
6
mehfk
07.10.14
✎
11:57
|
Еще раз говорю, запускай так
%SystemRoot%\sysnative\rdpclip.exe
|
|
7
dkonakov
07.10.14
✎
11:57
|
Вернее как, файлы есть, но 1с почему то их не видит. Хотя процесс запущен с самыми полными правами.
|
|
8
dkonakov
07.10.14
✎
12:02
|
(6) Снимаю шляпу, профессор!
Примечательно, что если cmd запустить просто, а не из 1с - будет ошибка.
|
|
9
mehfk
07.10.14
✎
12:04
|
Вот еще теорию прочти
|
|
10
dkonakov
07.10.14
✎
12:05
|
(9) Спасибо! Вопрос решен!
|
|