from https://wiki.osdev.org/NE :
---------------------------------------------------------------------------------------------------------------------------------
To detect whether an MZ executable is also an NE executable, the following must be done:

Read the e_lfarlc field (uint16_t at offset 0x18). If it does not equal 0x0040, the executable is not an NE executable.
Read the e_lfanew field (uint32_t at offset 0x3C). Seek to that location in the file and read 2 bytes. 
If these bytes are 'N' and 'E', the executable is an NE executable. 
(Other common possibilities at that location are 'L' and 'E' for LE, and 'P' and 'E' for PE executables.)
---------------------------------------------------------------------------------------------------------------------------------

Then in NE header
get offset to non-resident name table at 0x2c (0x42C)
this is a absolute 32bit pointer to a table
get 16bit size count for non-resident name table at 0x20 (0x420)

then scan the table for PASCAL type strings (8bit length followed by textstring)
search for a string that starts with "SCRNSAVE : ", then the following string is the name shown in Windows Screensaver properties


Both Win9x and WinNT support this