c # - Windows, .NET læser tekst under musemarkøren

Indlæg af Hanne Mølgaard Plasc

Problem



Er det muligt at få teksten under musemarkøren fra et vindue af et program der arbejder i baggrunden?

Bedste reference


Ja, du kan bruge P/Ivoke. Nogle pointers:



  • WindowFromPoint

  • ChildWindowFromPoint

  • AttachThreadInput

  • GetWindowText



Jeg tror, ​​du skal lave en vedhæftning til trådindgangen for at kunne læse teksten fra en kontrol af en anden proces. [3] [4] [5] [6]

Andre referencer 1


En måde ville være at få musemarkørpositionen og et screenshot og derefter bare læse pixlerne fra skærmbilledet nær markøren.


Den sværeste del i denne løsning er at genkende teksten fra billedet, men der burde være biblioteker til det.

Andre referencer 2


Før du går langt ned ad denne vej, skal du kigge på AutoIt. Der er et værktøj kaldet 'AutoIt Window Info', der vil fortælle dig, om nogen af ​​Win32-bibliotekerne kan se tekst i det valgte vindue. Hvis du ikke kan se tekst der, så vil jeg foreslå at du bruger ManagedWinapi.dll, tag vindueskærmen, brug billedegenskaben til den returnerede SystemWindow klasse og send den til et OCR-bibliotek.