Я хочу, чтобы моя программа работала вроде Team Player . Мульти мыши, мульти курсор, но только один фокус. Но проблема в том, что я не могу скрыть курсор по умолчанию. Я только хочу, чтобы это было невидимо.
Пока это работает только внутри моего приложения.
ShowCursor(false);
и
Screen.Cursor:=crNone;
Есть ли способ скрыть курсор для всей системы (только пока я не закрою приложение)?
EDIT:
Это не работает:
procedure myShowCursor(Show :boolean);
var cursor1, cursor2: HCursor;
begin
cursor1 :=CopyIcon(Screen.Cursors[crDefault]);
cursor2 := LoadCursorFromFile('blank\blank.cur');
if Show then
SetSystemCursor(cursor1, OCR_NORMAL)
else
SetSystemCursor(cursor2, OCR_NORMAL);
end;
Это работает: (но я не могу это точно использовать)
procedure myShowCursor;
var cursor1, cursor2: HCursor;
begin
cursor1 :=CopyIcon(Screen.Cursors[crDefault]);
cursor2 := LoadCursorFromFile('blank\blank.cur');
SetSystemCursor(cursor2, OCR_NORMAL);
SetSystemCursor(cursor1, OCR_NORMAL)
end;
решено : восстановлены системные курсоры с помощью SystemParametersInfo
procedure TForm1.myShowCursor(Show :boolean);
var cursor1: HCursor;
begin
cursor1 := LoadCursorFromFile('blank\blank.cur');
if Show then
SystemParametersInfo(SPI_SETCURSORS,0,0,WM_SETTINGCHANGE or SPIF_UPDATEINIFILE )
else
SetSystemCursor(cursor1, OCR_NORMAL);
end;