home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <dos.h>
- #include <errno.h>
-
- #define EDOS_ID 0x2925
-
- //EDOSMsg db 'Enhanced DOS for Windows(EDOS)','$'
- unsigned long vxd_api;
-
- void fail_err(char *);
-
-
- typedef unsigned int BOOL;
-
- unsigned int fgr, bck, flags, perc;
-
- main( int argc, char **argv)
- {
- int result, i, len, ifile;
-
- _asm {
-
- push es
- mov di,0
- mov es,di
- mov ax,0x1684
- mov bx,EDOS_ID // ; edos
-
- int 2fh
- mov word ptr [vxd_api+2],es
- mov word ptr [vxd_api],di
- mov ax,es
- or ax,di
- pop es
- mov al,10
- jz noesdi
-
- mov ax,8 // ; get/set pri
- mov bx,1 // priority background
- mov di,0 // get Settings, di=1 means set, 0=get
- // mov dx,100 // dx = priority setting
-
- call vxd_api
- jc err
- // carry set if error
- // if error ax=-1
-
- // cx = foreground
- // dx = background
- // bx:ax = flags
- // si = cpu percentage
- mov fgr, cx
- mov bck, dx
- mov flags,ax
- mov perc,si
- }
-
- goto ok;
- noesdi:
- fputs("TESTPRI error: Can't run without EDOS & Windows\n", stdout);
- return 1;
-
- err:
-
- printf("%s \n", "TestPri failed, error #");
- getch();
- return 1;
- ok:
- printf("%s %d, %s %d, %s %d, %s %d%%\n",
- "forground=", fgr, "background", bck, "flags", flags, "Percentage",perc);
- if(flags & 2) fputs("Background = ON\n", stdout);
- if(flags & 1) fputs("Exclusive = ON\n", stdout);
-
-
- return result;
- }
-
-