Другие языки программирования и технологии

Windows получение выделенного текста в любой программе, желательно без его копирования в буфер!

Здравствуйте! Подскажите как можно реализовать получение выделенного пользователем в текущий момент текста? Будет хорошо если можно будет получить текст окна который сейчас даже не в фокусе. Язык программирования не важен (ну не паскаль и дельфи желательно :) ), главный результат.
Для большей ясности приведу пример: Пользователь выделяет текст в любом месте где он только выделяется и с помощью комбинации клавиш я получаю этот текст и уже делаю что мне нужно. На линуксе воспользовался утилитой xsel, на виндовсе нужно создать аналог который правдв будет возвращать только выделенный текст. Что получить текст можно не во всех программа я знаю по аналогии с линуксом.
Заранее благодарю всех ответивших!!!
Если речь идет о ЛЮБОЙ программе, то задача под Windows не решается. Приводим несколько котрпримеров.
1) Найдите защищенный от копирования PDF-документ и попытайтесь из него, что-то скопировать в буфер. При вставке будут кроказябры. Дальше долго объяснять зачем это сделала Adobe.
2) Кроме того, стандартными функциями Windows API можно написать самостоятельно программу в которой текст будет выделяться, но его нельзя извлечь даже через буффер.
ДМ
Данияр Масалиев
61 963
Лучший ответ
Марат Ктоппаев Я это понимаю, поэтому в конце дописал что это будит работать не во всех программах и я также знаю почему это происходит. Виндовс мне очень не знакомый поэтому решил спросить у знающих людей.
Чтобы ПОЛУЧИТЬ текст, который уже есть на экране, надо очевидно отвести под его хранение часть оперативной памяти. Windows это делает, но память называется буфером, что вам категорически не нравится.
Кроме того, вам не нравится комбинация CTRL+C.
Заменить её во всех программах MS Windows никогда не сможет, потому что не способна в связи со своей коммерческой политикой.

Единственный выход, который устроит всех пользователей мира, это написать ОС Rozhko Windows.Тем более, что там могут быть реализованы все желаемые вами функции, кроме функций разделения и защиты данных, о которых вы не знаете. Зато вы сможете реализовать любые запросы без ограничения, ловить и копировать вирусы прямо на лету.
Сергей Cиницин
Сергей Cиницин
70 042
Марат Ктоппаев Не нужно аж так все критично воспринимать ) копировать в общий буфер не очень хочется чтобы не портить пользовательськый буфер в котором пользователь возможно уже скопировать что-то своё. На линуксе присутствуют два буфера, буфер первого уровня и второго, который является буфером выделенного текста, они независимы. Повторюсь что общий буфер не хотелось бы использовать т. к. это может помешать пользователю, но если другого варианта нет то прийтется воспользоваться этим вариантом. Спасибо!
в винде без буффера на копипасте?
просто напиши свой перехватывальщик кармана для любой текущей операционки ))

пытаюсь представить себе как это будет под DOS, RedHat, Solaris, OS/2, Alpha?
про всякие миниксы и андроиды -вообще ужас
Duran Dyg
Duran Dyg
27 060

Похожие вопросы