Имя: Пароль:
1C
 
Перезапуск професса буфера обмена на терминальном сервере
,
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) Спасибо! Вопрос решен!