; Jerry Coffin Q. How can I tell if my program has been redirected to or from a file? You use DOS function 44, subfunction 0: IS_DEVICE EQU 0080h IS_FASTCONSOLE EQU 0010h IS_CONSOUT EQU 0002h IS_CONSIN EQU 0001h isconsol proc ; ; call with handle of file to test in BX ; ; Destroys DX ; ; On return, zero flag idicates status: ; set = redirected ; clear = console ; mov ax,4400h mov bx,handle int 21h ; ; the test for a device must be done separately because the states ; of the other bits are only meaningful if it is a device. ; test dx,IS_DEVICE jz done test dx,IS_CONSOUT | IS_CONSIN | IS_FASTCONSOLE done: ret isconsol endp