Microsoft has an OCR sample that might get you started, if you're a developer. Here's the page:
$1To quote directly from that page, the sample code shows how to do the following:
​
>Scenario 1: Load image from a file and extract text in user specified language.
>
>
>
>1. Determine whether any language is OCR supported on device.
>
>2. Get list of all available OCR languages on device.
>
>3. Create OCR recognizer for specific language.
>
>4. Create OCR recognizer for the first OCR supported language from GlobalizationPreferences.Languages list.
>
>5. Load image from a file and extract text.
>
>6. Overlay word bounding boxes over displayed image.
>
>7. Differentiate vertical and horizontal text lines.
To feed the OCR recognizer you'd need a screenshot, for which you should also find code in Microsoft docs or on StackOverflow.
Given the text and its bounding boxes, then there are some additional problems to solve.
Setting focus on your app or service will change the focus for input, which could cause other windows to be hidden. Ways that you could launch your app would include double-clicking from the desktop, using the task switcher to activate your app, and perhaps even access the functionality as a service through some key combination. Each one of these could have an effect on what other windows appear on screen, and how those windows are ordered.
Doing an exact word search would be a good start, but then the results would need to be ordered by some logic if there are multiple matches. That could mean having to select from a list of results before your arrow points somewhere.
Initially you might only want to find text currently visible, but eventually you may want a way to find text in some window that's currently hidden or partially obscured by another window. Then you might programmatically trigger the task switcher to cycle through windows, take a screenshot of the rectangle of each app window as it appears in front, run OCR on that screenshot, etc.
Having your arrow appear in the center of the screen seems a good start, whereas if the arrow were on an edge or in a corner it could be harder to follow to the target accurately. But I can also imagine that starting at some fixed point at the edge of the screen might be useful in other cases.
If you're going to draw an overlay graphic anyway, then I would suggest that in addition to the arrow that you include some indication how far away the text is. You could even show a faint, pulsing line connecting the arrow head to a box surrounding the targeted word. All those graphics may seem like overkill, but would limit the effort and thinking needed to find the word being pointed at.
If you've follow the arrow to a word and found it wasn't the instance you wanted, then you'd need some way to point to the next instance. In that case you might repoint the arrow and/or given directions from the current instance.
In summary, I think that with a bit of work you'll be able to get OCR to do the work you need, but that you would end up spending most of your time working through various scenarios and trying to make the interaction simple.