1. Nikanr - 20 Июня, 2021 - 11:50:26 - перейти к сообщению
Есть изображение в папке, как можно скопировать его в буфер обмена командой?
2. Zireael - 20 Июня, 2021 - 12:25:00 - перейти к сообщению
Скопировать путь к файлу или само изображение.
3. Nikanr - 20 Июня, 2021 - 14:59:59 - перейти к сообщению
Само изображение, т.е при нажатии ctrl+v в окно ввода текста после копирования вставлялось изображение
4. Zireael - 20 Июня, 2021 - 15:07:16 - перейти к сообщению
CODE:
#define CF_BITMAP 2
#define IMAGE_BITMAP 0
#define LR_LOADFROMFILE 0x00000010
external(INT, "OpenClipboard", "OpenClipboard", "User32.dll" );
external(INT, "CloseClipboard", "CloseClipboard", "User32.dll" );
external(INT, "EmptyClipboard", "EmptyClipboard", "User32.dll" );
external(INT, "SetClipboardData", "SetClipboardData", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
write_clipboard("C:\Image.bmp"); // скопировать изображение в буфер
function write_clipboard(string path)
{
int image = LoadImage(0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(image==0){messagebox("Картинка не загружена"); return;}
OpenClipboard(0); // открыть буфер
EmptyClipboard(); // очистить
SetClipboardData(CF_BITMAP, image); // запись в буфер
CloseClipboard(); // закрыть буфер
DeleteObject(image); // удалить изображение
}
#define IMAGE_BITMAP 0
#define LR_LOADFROMFILE 0x00000010
external(INT, "OpenClipboard", "OpenClipboard", "User32.dll" );
external(INT, "CloseClipboard", "CloseClipboard", "User32.dll" );
external(INT, "EmptyClipboard", "EmptyClipboard", "User32.dll" );
external(INT, "SetClipboardData", "SetClipboardData", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
write_clipboard("C:\Image.bmp"); // скопировать изображение в буфер
function write_clipboard(string path)
{
int image = LoadImage(0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(image==0){messagebox("Картинка не загружена"); return;}
OpenClipboard(0); // открыть буфер
EmptyClipboard(); // очистить
SetClipboardData(CF_BITMAP, image); // запись в буфер
CloseClipboard(); // закрыть буфер
DeleteObject(image); // удалить изображение
}