Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как скопировать папку в буфер

Страниц (1): [1]
 

1. Dantes3000 - 12 Ноября, 2018 - 08:28:05 - перейти к сообщению
Человек делает так: нажимает на рабочем столе на папку, нажимает crtl+c, переходит (в данном случае) на рабочий стол другого ПК через тимвивер, кликает на рабочем столе и нажимает crtl+v

а как это сделать программно?
(Добавление)
интересует конкретно копирование папки, со вставкой уже разберусь
3. Dantes3000 - 12 Ноября, 2018 - 09:09:46 - перейти к сообщению
Не шарю я как-то с win api работать...

CODE:
external(INT, "CopyFileExA", "CopyFileExA", "kernel32.dll");

CopyFileExA("C:\Users\qwety\Desktop\OBS", "OBS","","",1,1);


не копирует ничего
4. Zireael - 11 Декабря, 2018 - 07:17:37 - перейти к сообщению
 Цитата:
как это сделать программно?
интересует конкретно копирование папки

code (Отобразить)

Запустить скрипт. После этого можно будет куда-нибудь вставить папку temp, которая в папке с kibor.exe.
5. Dantes3000 - 11 Декабря, 2018 - 07:56:28 - перейти к сообщению
Спасибо
6. Dantes3000 - 17 Декабря, 2018 - 11:40:14 - перейти к сообщению
 Zireael пишет:
code (Отобразить)
Запустить скрипт. После этого можно будет куда-нибудь вставить папку temp, которая в папке с kibor.exe.


Как-то через раз копирует картинки...


Нажмите для увеличения

(Добавление)
Поставил проверку загрузился ли файл. Пробует снова копировать и вставлять. иногда раза с пятого получается
7. Zireael - 20 Декабря, 2018 - 11:07:53 - перейти к сообщению
Пробуйте так:
code (Отобразить)
8. Zireael - 12 Июня, 2020 - 05:57:53 - перейти к сообщению
CODE:
#define STARTF_USESHOWWINDOW 1
external(INT, "CreateProcess", "CreateProcessA", "Kernel32.dll");
external(INT, "WaitForSingleObject", "WaitForSingleObject", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");
double INFINITE = 4294967295;



PS("Set-Clipboard -Path ^'C:\Windows\Media^'"); // скопировать в буфер обмена папку C:\Windows\Media



function PS(string CommandLine)
{
int STARTUPINFOA[17], PROCESS_INFORMATION[4];
initialarray(#STARTUPINFOA[0], 0);
STARTUPINFOA[0]=68;
STARTUPINFOA[11]=STARTF_USESHOWWINDOW;
if(CreateProcess(0, "powershell.exe "+CommandLine, 0, 0, 0, 0, 0, 0, address(#STARTUPINFOA[0]), address(#PROCESS_INFORMATION[0])))
{
WaitForSingleObject(PROCESS_INFORMATION[0], INFINITE);
CloseHandle(PROCESS_INFORMATION[0]);
}
}

Powered by ExBB FM 1.0 Final