🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.lang.asm
Article #353

Re: How removing mouse cursor in NT ?

#353
From: Randall S Johnson
Date: Thu, 10 Sep 1998 00:00
58 lines
3763 bytes
Not an expert here,
Probably not telling you anything you don't already know.
NT has a neat thing called a HAL.  Some call it a hardware access layer.  Some
call it a hardware abstraction layer (neat in some ways and a real bummer in
others).
  Anyway,  what it appears to me that you are doing is starting a console
application in two different modes.  One of the modes accomodates the NT OS
mouse driver and one does not.
  WinNT drivers are specific to the OS and are not alterable.  That is what
makes NT a secure OS.  Completely different show from W95/98.  As you know you
can not get to a command line with out being in console mode.  That is, no shut
down to DOS prompt.  This is because the HAL will not let you access the
hardware directly.
  That is, you should use the win32 interface to program for Windows NT.
Console applications are very limited.  You can make assembly calls to the
interface per the MASM manual but you can not access the hardware directly.  Any
direct assembly calls to system hardware are virtualized by the HAL and may or
may not execute or run correctly.
  This is why games that write directly to the video pallette do not run on NT.
  What ever your ultimate objective is I don't think that worrying about this is
going to make that much of a difference.

R Johnson


G. Jacobs wrote:

> Hi,
>
> I got a very strange problem. When you create a dos application and you
> start it in NT in full-screen modus from the explorer itself ( Start->Run ),
> you'll always see a mouse cursor until the application is terminated.
> If you enter this small code below in DEBUG, you'll see what I mean:
>
>     27AA:0100 B80000        MOV     AX,0000
>     27AA:0103 CD16          INT     16
>     27AA:0105 3C1B          CMP     AL,1B
>     27AA:0107 75F7          JNZ     0100
>     27AA:0109 B8004C        MOV     AX,4C00
>     27AA:010C CD21          INT     21
>
> The strange thing is, when you run it in CMD.EXE you don't see the mouse
> cursor !
> Is there a way to turn this mouse cursor off *without* using interrupts ?
> Because I'd like to create a Win32 console application and since interrupts
> are no more allowed in there, i can't use something like:
> MOV AX, 2
> INT 33
>
> Neither can i start this application in CMD.EXE, because it will always
> start in another window...
>
> Another weird thing is that it only appears in NT: if you run this in
> Win95/98 you'll see no mouse cursor !
>
> Any help at all would be greatly appreciated.
>
> G. Jacobs
Technical Details
Message-ID: <6t8n3u$46j$1@winter.news.erols.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6t62t0$36k$1@winter.news.erols.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: feaef,4a55990401ac6b1e
X-Google-Attributes: gidfeaef,public
X-Google-Thread: 104440,4a55990401ac6b1e
X-Google-Attributes: gid104440,public
X-Google-Thread: fe95f,4a55990401ac6b1e
X-Google-Attributes: gidfe95f,public
X-Google-Thread: 114917,4a55990401ac6b1e
X-Google-Attributes: gid114917,public
X-Google-Thread: 1125f6,4a55990401ac6b1e
X-Google-Attributes: gid1125f6,public
X-Google-Thread: f7d8d,4a55990401ac6b1e
X-Google-Attributes: gidf7d8d,public
From: Randall S Johnson <johnstar@sinclair.net>
Subject: Re: How removing mouse cursor in NT ?
Date: 1998/09/10
Message-ID: <6t8n3u$46j$1@winter.news.erols.com>
X-Deja-AN: 389753504
Content-Transfer-Encoding: 7bit
Approved: <johnfine@erols.com>
References: <6t62t0$36k$1@winter.news.erols.com>
Content-Type: text/plain; charset=us-ascii
X-Mozilla-Status: 0801
X-Complaints-To: abuse@rcn.com
X-Trace: winter.news.erols.com 905437118 4307 207.172.243.128 (10 Sep 1998 14:18:38 GMT)
Organization: Slurp News Feeds
Mime-Version: 1.0
Newsgroups: alt.lang.asm,borland.public.tasm,comp.lang.asm.x86,de.comp.lang.assembler.misc,de.comp.lang.assembler.x86,microsoft.public.masm