
В этом всплывающем окне говорится, что выход может занять больше времени, если я сохраню последний скопированный элемент. Однако в каждом случае необходимость нажатия на всплывающее окно в любом случае увеличивает время выхода, поскольку мне приходится перемещать мышь, чтобы нажать на ДРУГОЕ всплывающее окно, и, если говорить реалистично, я никогда не копирую достаточно, чтобы замедлить свой компьютер (и даже если бы я это сделал, дополнительные несколько секунд для выхода меня не беспокоят). Поэтому я хотел бы отключить эту «функцию», но не могу найти способа сделать это. Есть ли у кого-нибудь какие-либо решения?
решение1
К сожалению, вы не можете это отключить. Этот запрос -Возможность отключения диалогового окна «Хотите сохранить последний скопированный элемент?»- Uservoice был создан послетот же вопроскак ваш был задан на форуме Microsoft. Однако, до написания этого ответа, Microsoft не предоставила возможность отключить его.
Единственный обходной путь, предложенный на форуме Microsoft, — скопировать один символ перед закрытием приложения.
решение2
Dim wa как объект
' перед созданием объекта
Если wa равно Nothing, то устанавливаем wa = CreateObject("word.application")
Конец, если
' после копирования и вставки данных
Wa.Quit Ложь
Установить wa = Ничего
«Мне это помогает избежать появления всплывающего окна
решение3
Этот скрипт AutoHotkey v2 решает эту проблему.
Самую новую версию всегда можно найти на GitHub:https://github.com/karolzlot/office-keep-last-item
Если вы заметили какую-либо ошибку, пожалуйста, создайте issue. Запросы на pull также приветствуются!
; This is AHK v2 script, it won't work on AHK v1.
#SingleInstance Force
#Warn ; Enable warnings to assist with detecting common errors.
SendMode "Input" ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir A_ScriptDir ; Ensures a consistent starting directory.
SetTitleMatchMode(1) ; 1 = A window's title must start with the specified WinTitle to be a match.
; All translations can be found on https://www.microsoft.com/en-us/language/Search?&searchTerm=You%20placed%20a%20picture%20on%20the%20Clipboard.&langID=591&Source=true&productid=undefined
; English language
phrase1:= "You placed a picture on the Clipboard. Do you want this picture to be available to other applications after you quit"
phrase2:= "Do you want to keep the last item you copied?\n\nIf you do, it may take a bit longer to exit."
phrase_yes:= "Yes"
; ; Polish language
; phrase1:= "W Schowku znajduje się obraz. Czy ten obraz ma być dostępny dla innych aplikacji po zakończeniu pracy z programem"
; phrase2:= "Czy chcesz zachować ostatni skopiowany element?\n\nJeśli tak, zakończenie działania może potrwać trochę dłużej."
; phrase_yes:= "Tak"
Loop
{
HWND := WinWaitActive("Microsoft ")
window_text := WinGetText("ahk_id " HWND)
if InStr(window_text, phrase1, "Off") or InStr(window_text, phrase2, "Off")
{
Controls := WinGetControls(HWND)
for control in Controls
{
MsgBox(control " " ControlGetText(control)) ; for debugging, comment out this line if it works ok
if InStr(control, "Button") ; check if control is of type button
{
if InStr(ControlGetText(control), phrase_yes)
{
MsgBox("Button found") ; for debugging, comment out this line if it works ok
ControlClick(control)
Sleep(1000)
break
}
}
}
}
else
{
; MsgBox "Not found" ; for debugging, comment out this line if it works ok
Sleep(1000)
}
}
решение4
А еще лучше, зачем он вообще нужен? Большинство из нас сидят за машинами с 16G до 64G RAM с гиперпотоковыми четырехъядерными процессорами и SSD-накопителями. Серьезно? Мы беспокоимся, что экономим время на наносекунду дольше? Пользователю требуется гораздо больше времени, чтобы отвлечься, понять, что это за бесполезное всплывающее окно, а затем нажать «ОК». Просто удалите его. Не тратьте время на дополнительные настройки и опции. Какой в этом смысл?