Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Интерпретатор ruby внутри программы https://www.cyberforum.ru/ csharp-net/ thread1380611.html
Привет! Возможно ли использование ruby скриптов в c# как из внешних файлов, так и внутри программы?
Массовая рассылка. Нужен ли временной интервал между письмами? C#
Стоит задача произвести рассылку на примерно 700 адресов с уникальным содержанием. Рассылка будет производиться через SMTP хостера. Основной код создания и отправки я уже написала. Но возник...
C# Просмотр видео с камеры подключенной к серверу без сторонних библиотек https://www.cyberforum.ru/ csharp-net/ thread1380555.html
Привет! Есть ли возможность создать приложение, которое позволит просмотр видео с камеры подключенной к серверу, без сторонних библиотек.
C# Чтение\запись памяти для x64 процессов Читал память из одной онлайн игры для x32 битной версии на C# - все путем с помощью public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte buffer, int... https://www.cyberforum.ru/ csharp-net/ thread1380486.html
C# Почему исчезает выбранное значения из поля select webbrowser?
вот мой код: string nomer = "", ul = "",d; int dom = 0; HtmlElement el; HtmlElementCollection col1,col2; //ввод улицы ...
C# Некорректная работа MOUSEEVENTF.MOVE https://www.cyberforum.ru/ csharp-net/ thread1380247.html
Здравствуйте. Моя проблема заключается в том, что при использовании флага MOUSEEVENTF.MOVE, курсор перемещается дальше, чем требуется. Да, я знаю, что координаты в MOUSEEVENTF.MOVE указываются в...
C# Завершить процесс, запущенный от имени другого пользователя Я сижу с юзера "РЕН", на другом юзере "REN" запущен калькулятор(К примеру). Надо его убить. Но не хватает прав. Process procss = Process.GetProcessesByName("calc"); foreach (Process... https://www.cyberforum.ru/ csharp-net/ thread1380228.html C# Получить изображение с поискового запроса
Как мне получить картинку, которая была бы первой в поисковом запросе? Т.е. я пишу какое либо слово, а программа получает url картинки по запросу.
C# Обход каптчи при регистрации на веб-ресурсе https://www.cyberforum.ru/ csharp-net/ thread1380127.html
Доброе утро форумчане. Захотелось мне написать что то типа авторегистратора на 1 ресурс, но вот незадача. На нем вот такая каптча... Нужно нажать на галочку, чтобы она решилась. Подскажите как...
C# Нужен обфускатор, который бы умел паковать файлы внтури софта Привет. Нужен пакер(обфускатор), который бы изменял хэш какого-то файла(допустим, это будет картинка) который встроен в софт(любым удобным способом). Пример - есть софт на C#, в нем встроена... https://www.cyberforum.ru/ csharp-net/ thread1380020.html
C# Развертывание с использованием clickonce, ошибка Не достаточно места на жестком диске
При развертывании с помощью clickonce, у некоторых моих клиентов пишет "Недостаточно места на диске", хотя на диске С, несколько сотен гб. От админа запускали, net 4 переустанавливали, ничего не...
C# Ошибки после импорта из user32 Импортировал много функций, структур и перечислений из user32. Долгое время всё было нормально, но вот однажды стали появляться странные ошибки. Теперь чем больше я импотрирую, тем больше ошибок.... https://www.cyberforum.ru/ csharp-net/ thread1379686.html
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 93
0

Ошибка при повторном вызове метода Clipboard.SetDataObject - C# - Ответ 7259890

22.02.2015, 23:11. Показов 3812. Ответов 3
Метки (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо программно отправить текст в текстовое поле стороннего приложения.
Задавал вопрос в разделе C++ WinAPI Программно эмулировать нажатие клавиш, различая регистр и раскладку клавиатуры
Проблема в том, что функция keybd_event не различает регистр и раскладку клавиатуры. Посоветовали функцию WinAPI SendInput. Но в ней у меня та же проблема. Решил попробовать сделать проще. Сохраняю старый буфер обмена, отправляю туда текст, затем с помощью WinAPI нажимаю Shift+Insert и возвращаю в буфер обмена старое содержимое.

C#
1
2
3
4
5
6
7
8
9
10
11
12
static void Main()
        {
            IDataObject old_clipboard = Clipboard.GetDataObject();
            Clipboard.SetText("Текст", TextDataFormat.UnicodeText);
            
//Код, отправляющий сочетание клавиш Shift+Insert с помощью функции WinAPI keybd_event 
...
            Clipboard.SetDataObject(old_clipboard,true);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
Первый раз это работает нормально, когда данные в буфер обмена были помещены через приложение Windows. Но, если в буфере обмена находится содержимое, которое было туда отправлено с помощью SetDataObject при прошлом вызове программы, при следующем вызове программы появляется ошибка на строчке

C#
1
 Clipboard.SetDataObject(old_clipboard,true);

Если ее закомментировать, и не отправлять данные обратно в буфер обмена, ошибки нет, а содержимое буфера обмена теряется.

Ошибка выглядит следующим образом (оформил в сообщении как код HTML для удобства просмотра).

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Сигнатура проблемы:
  Имя события проблемы:   CLR20r3
  Сигнатура проблемы 01:   bufobmena.exe
  Сигнатура проблемы 02:   1.0.0.0
  Сигнатура проблемы 03:   54ea34f6
  Сигнатура проблемы 04:   System.Windows.Forms
  Сигнатура проблемы 05:   4.0.30319.18408
  Сигнатура проблемы 06:   52311103
  Сигнатура проблемы 07:   13e9
  Сигнатура проблемы 08:   14
  Сигнатура проблемы 09:   AMAG3AACMAWG2XAF344U21ACVE5PSTKL
  Версия ОС:    6.1.7601.2.1.0.256.1
  Код языка:    1049
  Дополнительные сведения 1:  0a9e
  Дополнительные сведения 2:  0a9e372d3b4ad19135b953a78882e789
  Дополнительные сведения 3:  0a9e
  Дополнительные сведения 4:  0a9e372d3b4ad19135b953a78882e789
 
Ознакомьтесь с заявлением о конфиденциальности в Интернете:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419
 
Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
  C:\Windows\system32\ru-RU\erofflps.txt
Может ли это быть связано с тем, что не очищается память, занимаемая объектом, и как в этом случае ее очистить?
Присваивание null не помогает.
C#
1
old_clipboard = null;
Есть ли другие способы работы с буфером обмена или программной отправки теста, чтобы различался регистр и раскладка клавиатуры?

Вернуться к обсуждению:
Ошибка при повторном вызове метода Clipboard.SetDataObject C#
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2015, 23:11
Готовые ответы и решения:

Clipboard.SetDataObject
Вот мой метод. Проблема в том что этот метод вызывается не из основного потока связи с чем и не...

Ошибка при вызове метода (позднее связывание)
Помогите пожалуйста разобраться с ошибкой вызова:

При вызове метода из другого файла ошибка "The type initializer for 'Openxls' threw an exception"
Хелп плиз! Прога работала и вдруг перестала при вызове метода из другого файла пишет The type...

Большое потребление памяти при вызове метода
Наблюдаю очень странное поведение Visual Studio 2008. В моём проекте на C# есть один метод, который...

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2015, 23:11
Помогаю со студенческими работами здесь

Запрос админ прав после нажатия button (либо при вызове метода)
Для выполнения функции, которая вызывается после клика на кнопку, требуются админ права(для всей...

Ошибка при вызове функции из другой библиотеки
Добрый день! У меня есть библиотека с функциями написанными на С. При попытке использования одной...

Ошибка "Сервер RPC недоступен" при повторном обращении к Word
Добрый день! Вывожу на печать с формы в документ Word. Все получается. Но при закрытии и при...

Ошибка при вызове метода dataAdapter.Fill(ds)
Код программы взят из учебного пособия слово в слово, изменён только адрес к фалу базы данных...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru