Computer vision: Identifying different items in screenshot
This is a good case for computer vision.  You know exactly what the icon looks like (basically pixel-perfect), and you want to find whether it exists anywhere in the screenshot.  This is an image matching problem.

Normalized cross-correlation (NCC) is a standard way to check whether small image $I$ (your icon)  appears anywhere in the large image $I'$: you compute the NCC and then look for a location where the value of the NCC is large; that is your candidate match.  You can now apply this to the set of candidate icons: for each candidate icon, search whether it appears anywhere in the screenshot, using NCC.  OpenCV and other computer vision libraries should include normalized implementations of the NCC computation.

For speed, you can also try using image pyramids, but try using NCC directly on the full screenshot first.