Как отключить / включить офисный буфер обмена

1709
IGRACH

Вопрос. Есть ли способ отключить буфер обмена в Office 2016?

Я не имею в виду показывать / скрывать статус при копировании или подобных вещах из настроек буфера обмена. Я имею в виду, чтобы полностью отключить его. Это настолько навязчиво, что вы не можете отключить его от самого приложения. Также это проблема конфиденциальности, потому что все, что вы копируете на свое устройство, отправляется туда, если открыто какое-либо приложение (Excel, Word и т. Д.). Если все они закрыты, при запуске Word / Excel будет скопирован системный буфер обмена в буфер обмена Office.

Я ищу любое решение (третье лицо, реестр и т. Д.). У меня Win 7/64 бит и Office 2016/64 бит.

1

2 ответа на вопрос

1
Pimp Juice IT

Отключение буфера обмена

Ниже представлен обходной метод, позволяющий отключить функцию буфера обмена с помощью пакетного сценария с некоторой условной логикой и циклом. Ниже также есть метод и некоторые инструкции, описывающие, как легко завершить цикл. Он использует некоторый динамический язык сценариев VB, чтобы помочь сохранить процесс скрытым в фоновом режиме во время работы, но он все еще дает вам возможность использовать его и уничтожать по мере необходимости.

Пакетный скрипт

IF /I [%~N1]==[KillSwitch] TASKKILL /F /FI "WindowTitle eq ClearClip" & EXIT IF NOT DEFINED MINIMIZED SET MINIMIZED=1 && START "" /MIN "%~F0" x && EXIT @ECHO OFF IF NOT [%~1]==[] GOTO :VBProcess  TITLE ClearClip :LoopIt ping -n 02 127.0.0.1 > nul  :WipeClip cmd.exe /c echo off | clip GOTO :LoopIt  :VBProcess SET TempVBSFile=%temp%\~tmpVBSTemp.vbs IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"  ECHO Set WinScriptHost = CreateObject("WScript.Shell") >"%TempVBSFile%" ECHO WinScriptHost.Run Chr(34) ^& "%~F0" ^& Chr(34), 0 >>"%TempVBSFile%" ECHO Set WinScriptHost = Nothing >>"%TempVBSFile%"  CSCRIPT //nologo "%TempVBSFile%" EXIT 

По сути это., ,

  • Удаляет все процессы с заголовком « ClearClip», если KillSwitchименованный файл «» передается ему в качестве первого аргумента, а затем полностью выходит из сценария (см. « Уничтожение с помощью переключателя Kill» )

  • Запускает [сам] пакетный сценарий снова, но свернут и с пустым xаргументом " " значения первого аргумента

  • Запускает [сам] пакетный сценарий, скрытый динамическим VB-сценарием, если первый переданный ему аргумент не равен нулю, а затем повторяется каждые 2 секунды, очищая буфер обмена

Использовать его

Чтобы использовать его или включить функцию очистки буфера обмена каждые 2 секунды, просто дважды щелкните или выполните пакетный скрипт. Если у вас возникли проблемы или он не работает должным образом, попробуйте запустить его с правами администратора, просто щелкнув правой кнопкой мыши | Запуск от имени администратора .


Убить его с помощью переключателя Kill

  1. Создайте файл с именем KillSwitch.txtи поместите его прямо рядом с сохраненным вами пакетным сценарием, который вы выполняете для отключения буфера обмена.
  2. Перетащите KillSwitch.txtфайл имени прямо в или на пакетный сценарий, который вы выполняете, чтобы отключить буфер обмена, и это убьет скрытые фоновые процессы, которые очищают буфер обмена, и затем буфер обмена снова будет доступен.

    enter image description here

    enter image description here


Дополнительные ресурсы

@IGRACH Это решение позволит кому-то сознательно отключить функции буфера обмена непосредственно перед запуском соответствующих приложений Office, а также включить его снова. В противном случае вы можете автоматизировать, а затем расширить и автоматизировать его включение или выключение, если такие процессы, как `winword.exe`,` excel.exe` и т. Д., Найдены или не найдены работающими в памяти на машине, которую вы автоматизировали для запуска. Вы буквально сказали «любое решение», и поэтому я предлагаю вам это решение, чтобы убедиться, что оно будет достаточно. Pimp Juice IT 5 лет назад 1
Спасибо за быстрый ответ, но на самом деле я хочу отключить буфер обмена, а не только очистить его. IGRACH 5 лет назад 0
@IGRACH Не беспокойтесь, но это обходное решение, которое я нашел при исследованиях и тестировании. Я нашел сообщения об отключении истории буфера обмена, его опыта и некоторых других возможностях буфера обмена, но на самом деле ничего такого, что могло бы отключить его, даже GPO, но, возможно, вы найдете кое-что, о чем кто-то знает. Между тем, это решение по существу предотвращает использование этой функциональности, поэтому попробуйте, и вы можете решить, что этого будет достаточно в промежуточный период, но, тем не менее, удачи вам найти что-то более прямое или конкретное для полного отключения этой функции. Pimp Juice IT 5 лет назад 1
1
siknikone

Вот ключ реестра, который мы предоставили Microsoft для отключения буфера обмена Office. Это HKCU, поэтому его не так просто развернуть, но, похоже, он работает для наших нужд. Еще тестирование продолжается.

https://support.microsoft.com/en-us/help/2817672/macro-takes-longer-than-expected-to-execute-many-individual-copy-and-p

Чтобы устранить эту проблему в Excel для Office 365, Excel 2019, Excel 2016 и Excel 2013, выполните действия, описанные в разделе «Информация о ключе реестра».

  1. Нажмите « Пуск», выберите « Выполнить», введите regedit в поле « Открыть» и нажмите кнопку « ОК» .
  2. Найдите и выберите следующий раздел реестра:

    HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Common\General\ 

    Примечание xx.0 в этом пути реестра соответствует версии Excel (16.0 = Excel 2016, 15.0 = Excel 2013, 14.0 = Excel 2010).

  3. В меню « Правка» выберите пункт « Создать» и нажмите « Значение DWORD» .
  4. Введите AcbControl и нажмите клавишу ВВОД.
  5. В Подробности панели, щелкните правой кнопкой мыши AcbControl, а затем нажмите кнопку Изменить .
  6. В поле « Значение» введите десятичное число 2147483648 или шестнадцатеричное 80000000, а затем нажмите кнопку « ОК» .
  7. Выход из редактора реестра.

Похожие вопросы