Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Курсор мыши, Курсор мыши
Anyway777
сообщение 17.4.2021, 16:46
Сообщение #1


**

Neophyte
Сообщений: 10
Регистрация: 7.1.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.849



Всем привет, возможно ли реализовать код так, что в один момент работы пилота, он проверял есть ли на мониторе курсор, если есть то нужно нажать Ф5, если нету, то выполнять код дальше.
Всем заранее спасибо за ответ.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 17.4.2021, 17:31
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Код
--lua
local ffi = require("ffi")
ffi.cdef[[
    typedef struct {int x; int y;} POINT;
    typedef struct {int cbSize; int flags; int hCursor; POINT ptScreenPos;} CURSORINFO, *PCURSORINFO;
    int GetCursorInfo(PCURSORINFO pci);
]]

function IsVisibleCursor()
     pci = ffi.new('CURSORINFO')
     pci.cbSize = ffi.sizeof('CURSORINFO')
     ffi.C.GetCursorInfo(pci)
     return pci.flags
end

log 'clear' log 'mode compact'
log ( IsVisibleCursor() )   -- вернёт 0 - если курсор скрыт, 1 - если виден
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Anyway777
сообщение 17.4.2021, 17:55
Сообщение #3


**

Neophyte
Сообщений: 10
Регистрация: 7.1.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.849



Цитата(cirus @ 17.4.2021, 17:31) *

Код
--lua
local ffi = require("ffi")
ffi.cdef[[
    typedef struct {int x; int y;} POINT;
    typedef struct {int cbSize; int flags; int hCursor; POINT ptScreenPos;} CURSORINFO, *PCURSORINFO;
    int GetCursorInfo(PCURSORINFO pci);
]]

function IsVisibleCursor()
     pci = ffi.new('CURSORINFO')
     pci.cbSize = ffi.sizeof('CURSORINFO')
     ffi.C.GetCursorInfo(pci)
     return pci.flags
end

log 'clear' log 'mode compact'
log ( IsVisibleCursor() )   -- вернёт 0 - если курсор скрыт, 1 - если виден


а как там добавить, что бы нажимал ф5 если есть курсора, а если нет продолжал выполнять код, это нужно if добавить ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 17.4.2021, 18:04
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



Код
if IsVisibleCursor() then
ваш_код
end




--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 17.4.2021, 18:13
Сообщение #5


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26689
Пользователь №: 16.971
Возраст: 29



Код
--lua
local ffi = require("ffi")
ffi.cdef[[
    typedef struct {int x; int y;} POINT;
    typedef struct {int cbSize; int flags; int hCursor; POINT ptScreenPos;} CURSORINFO, *PCURSORINFO;
    int GetCursorInfo(PCURSORINFO pci);
]]

function IsVisibleCursor()
     pci = ffi.new('CURSORINFO')
     pci.cbSize = ffi.sizeof('CURSORINFO')
     ffi.C.GetCursorInfo(pci)
     return pci.flags
end

log 'clear' log 'mode compact'
while true do
    if IsVisibleCursor() == 0 then
        sendex ('{F5}')
    end
    wait(100)
end

Цитата
if IsVisibleCursor() then

В луа 0 это тоже истина.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Anyway777
сообщение 17.4.2021, 18:41
Сообщение #6


**

Neophyte
Сообщений: 10
Регистрация: 7.1.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.849



Цитата(cirus @ 17.4.2021, 18:13) *

Код
--lua
local ffi = require("ffi")
ffi.cdef[[
    typedef struct {int x; int y;} POINT;
    typedef struct {int cbSize; int flags; int hCursor; POINT ptScreenPos;} CURSORINFO, *PCURSORINFO;
    int GetCursorInfo(PCURSORINFO pci);
]]

function IsVisibleCursor()
     pci = ffi.new('CURSORINFO')
     pci.cbSize = ffi.sizeof('CURSORINFO')
     ffi.C.GetCursorInfo(pci)
     return pci.flags
end

log 'clear' log 'mode compact'
while true do
    if IsVisibleCursor() == 0 then
        sendex ('{F5}')
    end
    wait(100)
end


В луа 0 это тоже истина.

Сейчас попробую, спасибо большое
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.4.2024, 9:40
Designed by Nickostyle