как скрыть мышиный курсор

Обсуждение программ nnCron и nnCron LITE

как скрыть мышиный курсор

Postby alar73@yandex.ru » Sat, 25 Nov 2006, 22:29

Привет!
как скрыть мышиный курсор?
вроде в api есть:

API: Скрыть курсор

Option Compare Database
Option Explicit

Private Declare Function NSA_API_ShowCursor Lib "user32" (ByVal bShow As Long) As Long

Sub NSA_ShowCursor(Optional varShow As Boolean = True)
Call NSA_API_ShowCursor(varShow)
End Sub
alar73@yandex.ru
 
Posts: 26
Joined: Thu, 23 Dec 2004, 10:02

Postby Yury Zhukov » Mon, 27 Nov 2006, 16:36

API функция ShowCursor работеат только в контексте того потока, в котором вызвана. Если ты запустишь след. задачу, то увидишь, что над сообщением курсор прячется.
Code: Select all
#( test_hidecursor
NoActive
AsLoggedUser
WINAPI: ShowCursor user32.dll
Action:
  0 ShowCursor DROP
  MSG: "Над этим сообщением курсора быть не должно..."
  1 ShowCursor DROP
)#
Yury Zhukov
 
Posts: 243
Joined: Thu, 16 Jun 2005, 09:22
Location: Москва

Re: как скрыть мышиный курсор

Postby VoidVolker » Fri, 24 Feb 2012, 16:57

Тут есть одна особенность: при попытке показать видимый или скрыть невидимый курсор возникают глюки, поэтому надо избегать повторного вызова этого апи с тем же параметром. Самый просто способ - использовать флаг:
Code: Select all
-1 VALUE CursorVisible?  \ Флаг нужен для избегания повторного вызова апи 'ShowCursor с тем же параметром, т.к. это приводит к глюкам
: SHOW-CURSOR
  CursorVisible? NOT
    IF -1 TO CursorVisible? 1 ShowCursor DROP THEN
;

: HIDE-CURSOR
  CursorVisible?
    IF 0 TO CursorVisible? 0 ShowCursor DROP THEN
;

Альтернативный вариант - использовать винапи GetCursorInfo для получения статуса курсора.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: как скрыть мышиный курсор

Postby ANR Daemon » Tue, 28 Feb 2012, 00:25

VoidVolker wrote:Альтернативный вариант - использовать винапи GetCursorInfo для получения статуса курсора.

Даже не альтернативный, а предпочтительный.
Флаг может не отражать реального состояния курсора, если другое приложение в системе пытается воздействовать на него аналогичным образом.
ANR Daemon
 
Posts: 234
Joined: Mon, 26 Feb 2007, 22:59

Re: как скрыть мышиный курсор

Postby VoidVolker » Tue, 28 Feb 2012, 15:51

Да, так и есть.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests