Работа с буфером обмена - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Непонятные вещи творятся с Clipboard, Создаю файл, копирую его в Нное место (Рабочий стол допустим), копирую уже скопированный файл что б в Clipboard.GetFileDropList() появился путь уже к новому файлу, но он не появляется!
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]);
То достается старый путь, а потом новый! Не пойму в чем проблема? Пробовал и Sleep() и Sleep() в цикле, ничего не помогает

Решение задачи: «Работа с буфером обмена»

textual
Листинг программы
filePath.Clear();
while (filePath.Count < 1) 
{
    filePath = Clipboard.GetFileDropList();
    Thread.Sleep(100);
}
MessageBox.Show(filePath[0]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы