Как вставить снимок экрана в Проводник Windows?

Вопрос или проблема

Как просто вставить скриншот (сделанный с помощью PrtScn или Alt+PrtScn) в папку Проводника Windows и сохранить его как изображение (возможно, с диалогом, спрашивающим о параметрах размера и формата изображения)? То есть я могу сделать скриншот с помощью клавиши Print Screen, открыть папку и нажать Ctrl+V, и в этой папке появится новый файл jpg (или png, или другой формат) с содержимым моего скриншота.

Я только что нашел https://github.com/EslaMx7/PasteIntoFiles
Эта бесплатная программа “PasteIntoFiles” на GitHub добавляет ярлык в контекстное меню Проводника Windows, открывающий маленький инструмент с предварительно выбранной текущей папкой и кнопкой “Сохранить”.
Программа работает с Windows 10.

enter image description here

После того как я разместил этот запрос пользователям DonationCoder, мир получил удобный кусочек программного обеспечения от c.gingerich, который идеально подходит. (Страница проекта также доступна на http://paf.pen.io/, и теперь стоит денег, но существуют старые бесплатные версии.)

Этот снимок блога, связанного ниже, ссылается на эту страницу, которая в свою очередь ссылается на этот EXE файл, размещённый на archive.org.

Paste As File. Щелкните правой кнопкой мыши на рабочем столе или на фоне окна Проводника Windows и выберите “Вставить как файл”. Вы затем можете сохранить буфер обмена в файл на основе содержимого. Либо текстовый файл, либо изображение в формате PNG или JPG. Вы можете скачать его с моего сайта, если вас это интересует. Это бесплатно.

context menu showing PasteAsFile

Используйте autohotkey, вызывая скрипт PowerShell.

Powershell:

Add-Type -AssemblyName System.Windows.Forms  ### не требуется в PowerShell_ISE
if ($([System.Windows.Forms.Clipboard]::ContainsImage())) {
    $image = [System.Windows.Forms.Clipboard]::GetImage()
    $filename="<yourdefault>.png"
    
    if ($args[0]) {
        $filename=$args[0]
    }
    
    [System.Drawing.Bitmap]$image.Save($filename,
                    [System.Drawing.Imaging.ImageFormat]::Png)

    Write-Output "содержимое буфера обмена сохранено как $filename"

} else {
    Write-Output "буфер обмена не содержит данных изображения"
}

… можно затем вызвать из скрипта autohotkey ниже

autohotkey

; основано на ActiveFolderPath() от Scoox https://autohotkey.com/board/topic/70960-detect-current-windows-explorer-location/
AFP(WinTitle="A")
{
    WinGetClass, Class, %WinTitle%
    If (Class ~= "Program|WorkerW") ;рабочий стол
    {
        WinPath := A_Desktop
        valid:=1
    }
    Else ;все другие окна
    {
        WinGetText, WinPath, A
        RegExMatch(WinPath, ".:\\.*", WinPath)
        for w in ComObjCreate("Shell.Application").Windows    ; получить путь папки
        {
            aac = % w.Document.Folder.Self.Path
            if (WinPath=aac) {
                valid:=1
                break
            }
        }   
    }
    if !valid {
        WinPath := A_Desktop ; По умолчанию рабочий стол
        ; return ; .. или По умолчанию null
    }
    WinPath := RegExReplace(WinPath, "\\+$") 
    If WinPath 
        WinPath .= "\"
        
    Return WinPath
}
return

; Вставить изображение буфера обмена в локальный файл
^F15::
    filename:= AFP() . A_Year "_" A_MM "_" A_DD "_" A_Hour . A_Min . A_Sec . ".png"
    command:="<powershellscriptpath>.ps1 '" filename "'"

    RunWait, PowerShell.exe -ExecutionPolicy Bypass -Command %command%
    
    ;Показать файл в окне проводника
    Run explorer /select`, %filename%

return

Если вы используете Windows Vista или Windows 7, я рекомендую использовать “Ножницы”, которые установлены автоматически.

Этот инструмент немного более универсальный, чем команда Prtscn, и позволяет напрямую сохранять, копировать и вставлять и т.п.

Что касается команды PrtScn, автоматически копирующей в Проводник, я думаю, что это невозможно из-за формата, в котором команда делает скриншот.

Это также работает, если вы копируете изображение, встроенное в документ (например, OneNote или Word), в буфер обмена:
1. Откройте программу Paint.
2. Вставьте из буфера обмена.
3. Сохраните файл как jpg (например) или в любом другом списке формате.

Вы можете использовать xplorer2, он может непосредственно вставлять изображение из буфера обмена в файл проводника

enter image description here
enter image description here

.

Ответ или решение

Вопрос о том, как вставить скриншот непосредственно в проводник Windows и сохранить его в виде изображения, заслуживает тщательного анализа. К сожалению, стандартные возможности Windows не предусматривают возможности простого нажатия Ctrl+V для вставки и сохранения изображения в папке проводника. Однако, существуют различные подходы и инструменты, позволяющие обойти это ограничение.

Теория

Основной проблемой является ограничение функциональности стандартного инструмента PrtScn (Print Screen). Он позволяет скопировать изображение в буфер обмена, но не даёт возможности напрямую сохранить это изображение в заданной папке. Комбинация клавиш PrtScn или Alt+PrtScn только копирует изображение и требует дополнительного софта для его сохранения непосредственно в проводнике.

Пример

Рассмотрим несколько решений, которые могут облегчить эту задачу:

  1. PasteIntoFiles: это бесплатное программное обеспечение, доступное на GitHub, добавляет пункт контекстного меню в проводник Windows, который позволяет сохранить содержимое буфера обмена в текущую папку. Этот инструмент предлагает выбрать формат и размер изображения перед сохранением.

  2. Paste As File: это ещё одно решение, представленное разработчиком c.gingerich, которое позволяет вставить изображение из буфера обмена в файл, используя контекстное меню проводника. Программа поддерживает форматы PNG и JPG и позволяет назвать файл в соответствии с содержимым.

  3. Автоматизация с AutoHotKey и PowerShell: данное решение использует скрипты на AutoHotKey и PowerShell для автоматической вставки и сохранения изображения из буфера обмена в виде файла. PowerShell проверяет наличие изображения в буфере и сохраняет его в заданной папке, тогда как AutoHotKey может вызвать данный скрипт по горячей клавише.

Применение

Если ваша основная задача заключается в часто повторяющихся операциях захвата и сохранения скриншотов, рекомендуется выбрать специализированное ПО, такое как указанное выше, или использовать автоматизацию через скрипты. Оба подхода позволят упростить рабочий процесс и уменьшить количество ручных операций. Инструменты, такие как "Snipping Tool", также могут быть полезны, так как предложены в Windows Vista и Windows 7, предоставляя простые функции захвата и сохранения.

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

Оцените материал
Добавить комментарий

Капча загружается...