You’re absolutely right! When you copy images directly from File Explorer, the Windows clipboard doesn't store the actual image data but rather references (such as file paths or file identifiers). Programs like Discord or WhatsApp can access these references and then load the image from the file system, which is why they can handle multiple images without issue.
However, when you work with Python’s win32clipboard or similar libraries, you're dealing with raw data formats (like BMP or DIB) directly in the clipboard, and it doesn't include this kind of metadata (like file paths). That's why multiple images can't be handled natively, as the clipboard has no concept of "files" without such references.
To implement a workaround, you’d need to essentially mimic the way Windows handles this by implementing your own logic to store and manage file references rather than the raw image data. Unfortunately, this would likely require diving deeper into how clipboard formats are managed and possibly creating a custom clipboard format handler.
It’s not an easy task, but not impossible if you're familiar with how the Windows API and clipboard structures work. Hope that clarifies the difference!