Невозможно вставить любой текст или файл на моем компьютере - ошибка буфера обмена
Я использую код для захвата текста приложения.
Когда я запускаю приложение, я не могу скопировать и вставить любой текст или файл в свой pc.Я знаю, почему я получаю эту ошибку, потому что буфер обмена очищается каждую секунду или две, потому что я держал код в цикле. большая проблема для меня и моих клиентов, если они используют мое приложение на своей странице. Я хочу знать, можем ли мы создать новый буфер обмена только для моего использования приложения, а не с помощью буфера обмена на рабочем столе, или кто-нибудь может предложить любое решение для моей проблемы. Код Я использую это
try
{
IEnumerator enumerator;
MainModule.StrData = "";
try
{
enumerator = this.chkListbox_odin1.CheckedIndices.GetEnumerator();
IntPtr parentWnd = FindWindow((null), cboWindows.Text);
IntPtr mdiClientWnd = FindWindowEx(parentWnd, IntPtr.Zero, "MDIClient", "");
IntPtr marketwatchWnd = FindWindowEx(mdiClientWnd, IntPtr.Zero, null, windowname);
while (enumerator.MoveNext())
{
object objectValue = enumerator.Current;
this.WindowText(marketwatchWnd);
}
// System.Windows.Forms.SendKeys.SendWait("{ESC}");
// Application.DoEvents();
}
finally
{
}
Clipboard.Clear();
}
catch (Exception exception1)
{
// MessageBox.Show(exception1.Message);
}
Вот некоторые изображения моей проблемы
Я могу скопировать, пока я запускаю свое приложение.
Но когда я пытаюсь вставить
Вставить не подсветка,
Было бы очень признательно, если бы кто-то мог мне помочь.
Заранее спасибо.
1 ответ
Я предполагаю, что вы будете использовать / используете SendKeys для выполнения операции копирования после того, как нашли или поместили фокус в окно, текст которого вы пытаетесь скопировать. (Ваш текущий код только очищает буфер обмена, ничего не помещая в него или не используя его данные). Вы можете попробовать изучить метод, использованный в этом вопросе. Этот метод позволит вам вообще отказаться от использования буфера обмена и даст дополнительное преимущество, заключающееся в том, что вам не нужно менять фокус окна, что может быть такой же серьезной проблемой для ваших конечных пользователей, как и постоянная очистка буфера обмена. (В этой части предполагается, что вы используете SendKeys для воздействия на буфер обмена, который, как мне кажется, работает только в текущем фокусированном окне)