Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Do Not Paste as Image icon

Do Not Paste as Image!

简体中文

A tiny Windows tray utility that keeps text copied from PowerPoint as editable plain text.

PowerPoint can place multiple formats on the clipboard when you copy text, including HTML and RTF data that some web editors prefer over plain text. The result can be surprisingly annoying: you copy a title or a bullet list, paste it somewhere else, and it arrives as an image-like object instead of editable text.

Do Not Paste as Image! watches the clipboard in the background. When it detects clipboard HTML generated by Microsoft PowerPoint, it keeps the Unicode text and clears the richer formats so the next paste is plain text.

Features

  • Runs quietly in the Windows system tray.
  • Detects PowerPoint clipboard content by checking the HTML Format clipboard payload.
  • Replaces matching clipboard data with CF_UNICODETEXT.
  • Provides a tray menu toggle for pausing clipboard monitoring.
  • Automatically shows the tray menu in Chinese on Chinese Windows UI languages and English otherwise.
  • Publishes as a single native Windows executable with .NET Native AOT.

Usage

  1. Run DoNotPasteAsImage.exe.
  2. Copy text from PowerPoint.
  3. Paste into a browser, editor, chat app, or other destination.

To pause the behavior, right-click the tray icon and uncheck Monitor clipboard.

Build

Requirements:

  • Windows 10 or later
  • .NET 8 SDK for development and publishing

Publish a native executable:

dotnet publish .\src\DoNotPasteAsImage.csproj -c Release -r win-x64 --self-contained true

The published executable will be generated at:

src\bin\Release\net8.0-windows\win-x64\publish\DoNotPasteAsImage.exe

End users do not need to install .NET Framework, .NET Desktop Runtime, .NET 8, or .NET 10 when using the published Native AOT executable.

How It Works

The app is implemented as a small Win32 message loop in C#. It creates a hidden window, registers for clipboard update notifications through user32.dll, checks PowerPoint-specific HTML clipboard markers, and rewrites the clipboard with Unicode plain text through the standard Windows clipboard APIs.

The tray icon uses shell32.dll, and clipboard memory handles are managed through kernel32.dll. Native AOT may reference a small set of Windows system DLLs that are already included with Windows 10 and Windows 11.

License

MIT License. See LICENSE for details.

Acknowledgements

This project was built with assistance from AI coding tools.

About

Keep PowerPoint clipboard text from pasting as images

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages