Работа с буфером обмена - C#
Формулировка задачи:
Добрый вечер.
Непонятные вещи творятся с Clipboard, Создаю файл, копирую его в Нное место (Рабочий стол допустим), копирую уже скопированный файл что б в Clipboard.GetFileDropList() появился путь уже к новому файлу, но он не появляется!
А если написать вот так
То достается старый путь, а потом новый!
Не пойму в чем проблема?
Пробовал и Sleep() и Sleep() в цикле, ничего не помогает
String sndc =@"c:\1.txt";
//Заношу "c:\1.txt" в StringCollection
StringCollection filePath = new StringCollection();
filePath.Add(sndc);
//Очищаю буфер и и заношу туда "c:\1.txt"
Clipboard.Clear();
Clipboard.SetFileDropList(filePath);
//Делаю клик (Рабочий стол), вставку КТРЛ+В и копирование КТРЛ+С
InputSimulator InpSim = new InputSimulator();
InpSim.Mouse.LeftButtonClick();
InpSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
InpSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C);
//Здесь по идее должен достаться путь к новому файлу, но достается старый!
filePath = Clipboard.GetFileDropList();
MessageBox.Show(filePath[0]); MessageBox.Show(filePath[0]);
filePath = Clipboard.GetFileDropList();
MessageBox.Show(filePath[0]);Решение задачи: «Работа с буфером обмена»
textual
Листинг программы
filePath.Clear();
while (filePath.Count < 1)
{
filePath = Clipboard.GetFileDropList();
Thread.Sleep(100);
}
MessageBox.Show(filePath[0]);