Those cheap laser "1D" bar code scanners cannot read off a screen (except maybe eInk). It sucks because the supermarkets I frequent have their loyalty cards based off barcodes. Fortunately, barcode readers emulate keyboards so you can just type the code on a keyboard.
As far as I understand, that's because older systems don't use a digital image sensor to scan these, but rather a rotating laser beam and a simple photo diode registering the variations in brightness caused by varying reflections of the laser beam by the white and black parts of the barcode.
A camera-based scanner doesn't care where the illumination of the barcode is coming from (i.e. ambient light, its own LED illuminating a piece of paper, or an active backlit screen); that laser-based system is purely based on its own reflected light, though, and won't work with actively backlit screens at all. (I wonder if it works with e-ink or passive LCD displays!)
I am consistently impressed by how quickly and easily Costco's handheld scanners (seemingly straightforward red line 2D type) can read my membership barcode that is printed really narrow and tiny on my membership card. I guess hardware matters!