Получение выбранного элемента в активном окне - PullRequest
1 голос
/ 05 августа 2010

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

Ответы [ 2 ]

0 голосов
/ 05 августа 2010

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

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

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

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

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

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

Edit:

Говорил слишком рано - только что нашел эту ссылку;

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

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

0 голосов
/ 05 августа 2010

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

...