2010-08-05 2 views
1

Я использую C# для разработки приложения, которое работает с буфером обмена, задавалось вопросом, можно ли получить содержимое того, что пользователь выбрал в текущем окне, независимо от того, в каком окне оно находится (например, может быть FireFox, блокнот и т. д.).Получение выбранного элемента в активном окне

+0

Вы хотите выделить или скопировать в буфер? – Giorgi

+0

Материал, который будет скопирован в буфер обмена, если они ударят ctrl c. – mchamfist

ответ

0

Я не уверен, что вы сможете получить общее решение этой проблемы. Взгляните на эту ссылку;

http://www.eggheadcafe.com/software/aspnet/33899121/get-selected-text-of-active-window-.aspx

Автор этого поста сообщает, что их решение работает в блокноте, но не в Wordpad или Word. Я мало знаю об этой области, но я бы предположил, что это означает, что существуют различные средства, через которые реализуется выбор текста - даже в Windows.

Я думаю, что это также распространяется на Control-C, а не только на выбор текста. Я считаю, что есть разные способы обработки команды копирования в зависимости от контекста, в котором она используется.

Например, если вы нажмете Control-C в диалоговом окне в Windows, он скопирует текст без необходимости его вручную.

Надеюсь, эта ссылка будет полезна для вас. Это кажется интересной проблемой для преодоления.

Edit:

Spoke слишком рано - просто нашел эту ссылку;

http://social.msdn.microsoft.com/Forums/en/winformsapplications/thread/1dc356e6-9441-44de-9eda-247003fa6ef5

Похоже, это именно то, что вы после этого - надеюсь, что работает.

0

Если что-то было выбрано, оно не появится в буфере обмена. Но если пользователь скопировал какой-то объект, который он ранее выбрал, тогда да, он будет в буфере обмена.

+0

Да, но я не хочу, чтобы это было в буфере обмена. Я хочу знать, что знает буфер обмена, когда он что-то копирует - что выбрано в активном окне. – mchamfist

+0

Я думаю, C.McAtackney дал ссылку на хороший пример. Полагаю, его можно расширить, чтобы работать не только с текстом. Если вы хотите использовать класс Clipboard, он может дать вам несколько советов о том, что он содержит - методами Contain ... и Get .... Но если вы хотите знать, что будет скопировано, я боюсь, это бесполезно для вас. – 26071986

Смежные вопросы