C'est cho parce que chaque fenêtre gère le texte qu'elle contient.
Il n'y a donc pas de manière universelle.
Tu auras tjrs des fenêtres pour lesquelles ça ne marche pas (je pense à des applis développées en Qt par exe).
Récupérer le texte de la fenêtre sous le curseur est assez facile (GetWindowText( WindowFromPoint( GetCursorPos(.
Mais pour le texte sélectionné, c'est + dur.
Il faut connaître le composant et l'interroger (EM_GETSELTEXT,...)
Faut aussi poser un hook pour savoir quel contrôle a été activé...
Sous XP, c'est peut être faisable plus facilement grace auw Winevents.