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

> LuaPosh, Новые возможности пилота
Fors1k
сообщение 23.3.2020, 18:20
Сообщение #1


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 229
Пользователь №: 18.746



Установка:Написал модуль для возможности писать на PoSh прямо из пилота.

Можно писать одновременно как на lua, так и на PoSh внутри одного скрипта.

PoSh очень гибкий и компактный язык. Все его возможности доступны без необходимости установки дополнительных модулей (за исключением, кончено, специфических потребностей).

Примеры компактности языка:
№1
задача
Цитата(FREEON @ 17.2.2020, 15:38) *

Вот еще задачка. нужно найти все комментарии однострочные и многострочные, но данная регулярка не совсем корректно находит многострочные комментарии. Всего комментариев 7(для наглядности в тексте примера их пронумеровал и отметил жиром) из них: 5 однострочных и 2 многострочных
Вот рег: <!--(.+|(.|\s)*)-->
Вот пример текста:
<!--1 однострочный коментарий-->
текст <!-- 2 Это -- комментарий -->
текст
<!-- 3 многострочный
коментарий
текст какой-то-->
текст
Эт0
к0д
какой-то
<!-- 4
это еще один
ногострочный
коментарий
-->
текст
<!-- 5 это считается коментарием <!-- и это коментарием --> а этот текст уже нет-->
<!-- 6 --><!--7-->


Решение на Pilot (только для Ansi, так как с utf pilot не работает вовсе)

Код
log clear_current
log mode compact
load_array %a C:\1.txt
for #i 1 size(%a)
    set $a %a[#i]
    while regexp(#p $r $a <!--.*?(-->|$))
        log $r
        while copy($r eval(size($r)-2) 3) != -->
            set #i #i + 1
            set $a %a[#i]
            if regexp(#p $r $a ^.*?-->)
                log $r
                break
            end_if
            log %a[#i]
        end_while
        set $a string_replace($a $r "")
    end_while
end_for
log save_current C:\2.txt
end_script

Решение на lua

Код
--lua
log "clear"  log "mode compact"
package.path = "LuaPlugins\\winapi\\?.lua;" .. package.path
package.path = "LuaPlugins\\?.lua;" .. package.path
setfenv(1, require'winapi')
require'utf8'

local s = readfile([[C:\1.txt]])  
local f2 = io.open([[C:\2.txt]], "wb")

if s and f2 then  

        for w in s:gmatch("<%!%-%-.-%-%->") do  
            log (w .. "\r\n")
            f2:write(w .. "\r\n")
        end
        f2:close()  
end

exec ("notepad.exe", [[C:\2.txt]])

end_script ()


Решение на LuaPoSh. Сам код на ps занимает всего одну строку.
Исходная кодировка текста может быть как юникод, так и Ansi.
--lua
require "LuaPoSh";PScode('void',{[[#}
#
[regex]::Matches((Get-Content C:\1.txt), '<!--.+?-->').value > C:\2.txt;C:\2.txt
#
]]})

№2
задача
Цитата(neves @ 15.3.2020, 15:57) *

Hello everyone. I have a problem with showwindow() state commands.
In the wiki page are given only these states:
Код
HIDE: спрятать окно
MAXIMIZE: развернуть во весь экран
MINIMIZE: свернуть
RESTORE: развернуть
SHOW: показать
TOP: вытащить на поверхность.

My question is: Are there any other states which I can use, because none of these worked for my problem?
I am trying to minimize and restore given window in windows 10 virtual desktops, without switching between the desktops automatically. I need more like a popup state. When I use RESTORE or MAXIMIZE state, it switches to the virtual desktop where the window is located automatically.


Решение на lua

Код
--lua
package.path = "LuaPlugins\\winapi\\?.lua;" .. package.path
package.path = "LuaPlugins\\glue\\?.lua;" .. package.path
setfenv(1, require'winapi')
require[[winapi.winuser]]

local ffi = require("ffi")
ffi.cdef[[
BOOL ShowWindow(int hWnd, int nCmdShow);
]]

local SW_SHOWNOACTIVATE =  4

hndl=findwindow ("Калькулятор")

C.ShowWindow(hndl[1][1], SW_SHOWNOACTIVATE)


Решение на LuaPoSh. Сам код на ps занимает всего одну строку.
--lua
require "LuaPoSh";PScode('void',{[[#}
#
WinApi ShowWindow([int]$input, 4)
#
]]}, findwindow("Калькулятор")[1][1])

№3
задача
Цитата(portos @ 3.9.2020, 14:41) *

в папке D\3 находятся папки с фото,нужно оставить только файлы jpg которые больше 100х100 пикс


Решение на lua

Код
--lua
local ffi = require('ffi')
local gdip = ffi.load('Gdiplus.dll')
local CP_ACP = 0

ffi.cdef[[
typedef unsigned int  UINT;
typedef unsigned long DWORD;
typedef struct {UINT GdiplusVersion; int DebugEventCallback; bool SuppressBackgroundThread; bool SuppressExternalCodecs;} GdiplusStartupInput, *pGdiplusStartupInput;

bool DeleteFileA(const char *lpFileName);
int GdiplusStartup(int *token, pGdiplusStartupInput GdiplusStartupInput, int *output);
int GdiplusShutdown(int token);
int GdipDisposeImage(int image);
int GdipLoadImageFromFile(const wchar_t *filename, int *image);
int GdipGetImageWidth(int image, UINT *width);
int GdipGetImageHeight(int image, UINT *height);
int MultiByteToWideChar(UINT CodePage, DWORD dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar);
]]

function image_size(path)
    local buf = ffi.new('wchar_t[?]', #path+1)
    local StartupInput = ffi.new('GdiplusStartupInput', {1, 0, 0, 0})
    local token, image, w, h = ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]'), ffi.new('int[1]')
    ffi.C.MultiByteToWideChar(CP_ACP, 0, path, #path, buf, ffi.sizeof(buf))
    gdip.GdiplusStartup(token, StartupInput, nil)
    gdip.GdipLoadImageFromFile(buf, image)
    gdip.GdipGetImageWidth(image[0], w)
    gdip.GdipGetImageHeight(image[0], h)
    gdip.GdipDisposeImage(image[0])
    gdip.GdiplusShutdown(token[0])
    return w[0], h[0]
end

log 'clear' log 'mode compact'

local path = [[D:\3]]      -- путь к папке

local resultarray, count = dir (path, "*.bmp;*.jpg")  -- получить список всех файлов в формате bmp и jpg
log ("Найдено файлов: " .. count)

if count then      -- если файлы найдены
    for i=1, #resultarray do
        local width, height = image_size( resultarray[i][1] )
        log(resultarray[i][1].. '\tШирина: ' .. tostring(width) .. '\t'.. 'Высота: ' .. tostring(height))  -- размеры картинки
        if width < 100 and height < 100 then   -- если ширина и высота меньше 100
            ffi.C.DeleteFileA( resultarray[i][1] )  -- удалить файл
        end
    end
end
local resultarray, count = dir (path, "*.?*")  -- получить список всех файлов
log ("Найдено файлов: " .. tostring(count))
if count then      -- если файлы найдены
    for i=1, #resultarray do
        if  resultarray[i][4] ~= '.jpg' then     -- если не jpg
            log('Удаление файла: ' .. resultarray[i][1])
            ffi.C.DeleteFileA( resultarray[i][1] )  -- удалить файл
        end
    end
end


Решение на LuaPoSh. Сам код на ps в 5 раза короче и проще, чем на lua.
--lua
require "LuaPoSh";PScode('void',{[[#}
#
$path = 'D:\3'
function Check-PicSize($p){#}
$img = [Drawing.Image]::FromFile( $p.fullname )
if($img.width -gt 100 -and $img.Height -gt 100)
{$img.Dispose(); $true}else{$img.Dispose(); $false}
}
Get-ChildItem $path -file -rec|ForEach{#}
if(!($_.Extension -eq '.jpg' -and (Check-PicSize $_)))
{ri $_.FullName}
}
#
]]})


Также на PoSh можно создавать задачи в планировщике, редактировать word/excel документы, читать excel по строкам, столбцам, книгам, менять значения в реестре, можно использовать классы и методы .Net, писать в нем на c#...в общем всего не перечислить, а большинство повседневных задач решаются в паре строчек кода.

Сообщение отредактировал Deadly - 27.12.2023, 8:38


Прикрепленные файлы
Прикрепленный файл  LuaPosh.rar ( 14,29 килобайт ) Кол-во скачиваний: 999


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 2.6.2024, 21:56
Сообщение #2


***********

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



Уважаемый фонарик... Как же вы уметете невзначай проходя мимо задать на первый взгляд простой и наивный вопрос и вынести этим весь мозг. Без вас было бы скучно.
подгружать через require
вызов:
Код
local hint = require"hint"
hint(text, size, pos_x, pos_y, width, height, timeout)

В рамках пилота есть особенность - окно хинта закроется только после таймаута, даже если скрипт уже остановлен. Особенности реализации пилота. В чистом луа такого поведения нет.
hint
Код
--lua
local ffi = require 'ffi'
local C = ffi.C
ffi.cdef [[
    typedef struct lua_State lua_State;
    lua_State *luaL_newstate();
    void Sleep(unsigned int dwMilliseconds);
    void luaL_openlibs(lua_State *L);
    int luaL_loadstring (lua_State *L, const char *s);
    void lua_call (lua_State *L, int nargs, int nresults);
]]


local lua_code = [=====[
local mega_f = function(...)
local ffi = require("ffi")
local C   = ffi.C

ffi.cdef[[
    typedef void* HANDLE;
    typedef void* HWND;
    typedef void* HINSTANCE;
    typedef unsigned int UINT;
    typedef int BOOL;
    typedef const char* LPCSTR;
    typedef long LONG;
    typedef unsigned int DWORD;
    typedef unsigned long long UINT_PTR;
    typedef void* LPVOID;
    typedef void* HMODULE;
    typedef int (__stdcall *THREAD_START_ROUTINE)(LPVOID lpThreadParameter);
    typedef UINT_PTR (__stdcall *TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);
    typedef unsigned int WPARAM;
    typedef long LPARAM;
    typedef void* HFONT;

    HWND __stdcall CreateWindowExA(
        LONG     dwExStyle,
        LPCSTR   lpClassName,
        LPCSTR   lpWindowName,
        LONG     dwStyle,
        int      x,
        int      y,
        int      nWidth,
        int      nHeight,
        HWND     hWndParent,
        void*    hMenu,
        HINSTANCE hInstance,
        void*    lpParam
    );

    BOOL __stdcall ShowWindow(
        HWND hWnd,
        int  nCmdShow
    );

    BOOL __stdcall UpdateWindow(
        HWND hWnd
    );

    int __stdcall MessageBoxTimeoutA(
        HWND    hWnd,
        LPCSTR  lpText,
        LPCSTR  lpCaption,
        UINT    uType,
        UINT    wLanguageId,
        UINT    dwMilliseconds
    );

    BOOL __stdcall DestroyWindow(
        HWND hWnd
    );

    DWORD __stdcall GetCurrentThreadId();

    HMODULE __stdcall GetModuleHandleA(
        LPCSTR lpModuleName
    );

    HANDLE __stdcall CreateThread(
        void* lpThreadAttributes,
        size_t dwStackSize,
        THREAD_START_ROUTINE lpStartAddress,
        LPVOID lpParameter,
        DWORD dwCreationFlags,
        DWORD* lpThreadId
    );

    BOOL __stdcall CloseHandle(
        HANDLE hObject
    );

    UINT_PTR __stdcall SetTimer(
        HWND      hWnd,
        UINT_PTR  nIDEvent,
        UINT      uElapse,
        TIMERPROC lpTimerFunc
    );

    BOOL __stdcall KillTimer(
        HWND     hWnd,
        UINT_PTR uIDEvent
    );

    typedef struct {
        int x;
        int y;
    } POINT;

    typedef struct {
        HWND       hwnd;
        UINT       message;
        uintptr_t  wParam;
        intptr_t   lParam;
        DWORD      time;
        POINT      pt;
    } MSG;

    typedef intptr_t LRESULT;

    typedef struct {
        uint32_t size;
        uint32_t pos_x;
        uint32_t pos_y;
        uint32_t width;
        uint32_t height;
        uint32_t timeout;
        const char* text;
    } HintStruct;

    BOOL __stdcall GetMessageA(
        MSG* lpMsg,
        HWND hWnd,
        UINT wMsgFilterMin,
        UINT wMsgFilterMax
    );

    BOOL __stdcall TranslateMessage(
        const MSG* lpMsg
    );

    LRESULT __stdcall DispatchMessageA(
        const MSG* lpMsg
    );

    int __stdcall SendMessageA(
        HWND   hWnd,
        UINT   Msg,
        WPARAM wParam,
        LPARAM lParam
    );

    HFONT __stdcall CreateFontA(
        int     nHeight,
        int     nWidth,
        int     nEscapement,
        int     nOrientation,
        int     fnWeight,
        unsigned long fdwItalic,
        unsigned long fdwUnderline,
        unsigned long fdwStrikeOut,
        unsigned long fdwCharSet,
        unsigned long fdwOutputPrecision,
        unsigned long fdwClipPrecision,
        unsigned long fdwQuality,
        unsigned long fdwPitchAndFamily,
        LPCSTR  lpszFace
    );

    void Sleep(unsigned int dwMilliseconds);

    static const int WM_SETFONT = 0x0030;

    typedef struct lua_State lua_State;
    lua_State *luaL_newstate();
    void Sleep(unsigned int dwMilliseconds);
    void luaL_openlibs(lua_State *L);
    void lua_call (lua_State *L, int nargs, int nresults);
    typedef int (*lua_CFunction)(lua_State *L);
    void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n);
]]

local user32   = ffi.load("user32")
local kernel32 = ffi.load("kernel32")
local Gdi32    = ffi.load("Gdi32.dll")
local sleep    = C.Sleep

-- Переменная для хранения дескриптора окна с сообщением
local previousMessageWindow = nil

local function createWindow(HintStruct)
    local hwnd = user32.CreateWindowExA(
        0,                -- dwExStyle
        "STATIC" ,         -- lpClassName
        HintStruct.text,  -- lpWindowName
        0x80000000,       -- dwStyle WS_POPUP
        HintStruct.pos_x, -- x
        HintStruct.pos_y, -- y
        HintStruct.width, -- nWidth
        HintStruct.height,-- nHeight
        nil,              -- hWndParent
        nil,              -- hMenu
        nil,              -- hInstance
        nil               -- lpParam
    )

    -- Создаем шрифт
    local hFont = Gdi32.CreateFontA(
        HintStruct.size, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Arial"
    )

    -- Устанавливаем шрифт
    local res = user32.SendMessageA(hwnd, C.WM_SETFONT, ffi.cast("WPARAM", hFont), 1)


    user32.ShowWindow(hwnd, 5) -- SW_SHOW
    user32.UpdateWindow(hwnd)

    return hwnd
end

local function createTimer(hwnd, timeout)
    local timerId = user32.SetTimer(hwnd, 1, timeout, nil)
    return timerId
end

local function destroyTimer(hwnd, timerId)
    user32.KillTimer(hwnd, timerId)
end

local function createWindowAsync(HintStruct)
    HintStruct = ffi.cast("HintStruct*", HintStruct)
    -- Если предыдущее окно существует, закрываем его
    if previousMessageWindow ~= nil then
      print"_____"
        user32.DestroyWindow(previousMessageWindow)
        print"XXXX"
        previousMessageWindow = nil
    end

    local hwnd = createWindow(HintStruct)

    -- Сохраняем дескриптор текущего окна как предыдущий
    previousMessageWindow = hwnd

    if hwnd ~= nil then
        local timerId = createTimer(hwnd, HintStruct.timeout) -- Set timer for specified timeout

        -- Н<вырезано анти-матом>кирующее ожидание событий окна
        local start = os.clock()
        while os.clock() - start < HintStruct.timeout / 1000 do
            local msg = ffi.new("MSG")
            local result = user32.GetMessageA(msg, nil, 0, 0)
            if type(result) == 'number' and result > 0 then
                user32.TranslateMessage(msg)
                user32.DispatchMessageA(msg)
            end
        end

        destroyTimer(hwnd, timerId) -- Destroy timer
        user32.DestroyWindow(hwnd) -- Destroy window

        -- Обнуляем дескриптор предыдущего окна, так как оно уже было закрыто
        previousMessageWindow = nil
    else
        print("Failed to create window")
    end

    return 0
end



local function hint(text, size, pos_x, pos_y, width, height, timeout)
print(text)
print(size)
print(pos_x)
    local HintStruct = ffi.new("HintStruct")
    HintStruct.text    = text
    HintStruct.size    = size
    HintStruct.pos_x   = pos_x
    HintStruct.pos_y   = pos_y
    HintStruct.width   = width
    HintStruct.height  = height
    HintStruct.timeout = timeout
    local threadId = ffi.new("DWORD[1]")
    local threadHandle = kernel32.CreateThread(nil, 0, ffi.cast("THREAD_START_ROUTINE", createWindowAsync), ffi.cast("LPVOID", HintStruct), 0, threadId)
    kernel32.CloseHandle(threadHandle)
    return 0
end

]=====]

local create_state = function(text, size, pos_x, pos_y, width, height, timeout)
    local text    = text             and  tostring(text) or "text"
    local size    = size              or    24
    local pos_x   = pos_x             or     0
    local pos_y   = pos_y             or     0
    local width   = width             or   400
    local height  = height            or   200
    local timeout = timeout           or  5000

    print(text)
    print([[hint(']]..
                      text.."', "..size..", "..
                      pos_x..", "..pos_y..", "..
                      width..", "..height..", "..
                      timeout)

    -- Создаем новый объект состояния Lua
    local state = C.luaL_newstate()
    -- Загружаем стандартные либы io, math, string и т.д.
    C.luaL_openlibs(state)
    -- Загружаем код Lua
    C.luaL_loadstring(state, lua_code..[[hint(']]..
                      text.."', "..size..", "..
                      pos_x..", "..pos_y..", "..
                      width..", "..height..", "..
                      timeout..[[)
                      return 0
                      end
                      mega_f()]])
    C.lua_call(state, 0, 0)

    return 0
end

return create_state


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


****

Apprentice
Сообщений: 160
Регистрация: 23.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.305



Цитата(DarkMaster @ 2.6.2024, 21:56) *
подгружать через require
вызов:
Код
local hint = require"hint"
hint(text, size, pos_x, pos_y, width, height, timeout)
ААаааАаа (IMG:style_emoticons/default/yahoo.gif) ААабалдеть, хинт человеческий подъехал, вот етадааа (IMG:style_emoticons/default/thumb.gif) Как же его не хватало, вы просто не представляете! Товарищ DarkMaster, Вы просто Маэстро! (IMG:style_emoticons/default/hi.gif) Хинт теперь и на луа это так здорово! (IMG:style_emoticons/default/thanks.gif) Теперь то я заставлю свой скрипт всё мне рассказать и показать наглядно, что он там себе думает (IMG:style_emoticons/default/biggrin.gif)

Единственно чего не хватает, так это цветовых настроек, хотя бы шрифта (IMG:style_emoticons/default/rolleyes.gif) Или авто ширины и высоты (IMG:style_emoticons/default/biggrin.gif) Но это уже наверно наглость (IMG:style_emoticons/default/blush.gif)
Цитата(DarkMaster @ 2.6.2024, 21:56) *
Уважаемый фонарик... Как же вы уметете невзначай проходя мимо задать на первый взгляд простой и наивный вопрос и вынести этим весь мозг. Без вас было бы скучно.
Я ведь не специально, оно само как-то получается (IMG:style_emoticons/default/unsure.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Fors1k   LuaPosh   23.3.2020, 18:20
Fors1k   Синтаксис: PScode('return/void',{...   23.3.2020, 18:41
FREEON   Прыыыкона. Ток пытался погуглить чо за Lua Posh сп...   24.3.2020, 20:46
Fors1k   Прыыыкона. пытался погуглить чо за Lua PoshНаписал...   24.3.2020, 21:36
Levo222   Как он может решить задачу findcolor/findimage?   27.3.2020, 14:10
Fors1k   Как он может решить задачу findcolor/findimage? ...   27.3.2020, 15:43
cirus   Никак. Таких функции у винды нет.   27.3.2020, 14:13
Fors1k   [font=Arial Black]LuaPosh V2 [*]Добавил prompt. Вр...   30.3.2020, 18:48
Fors1k   [font=Arial Black]LuaPosh V3 [*] [quote name='Levo...   13.4.2020, 1:21
Fors1k   Дополнение к V3 Отображение текста(и не только) в ...   14.4.2020, 1:16
Levo222   Ладно. С многопоточкой твой LuaPosh точно не справ...   14.4.2020, 11:49
cirus   Она и не нужна, таймеры пригодились бы...   14.4.2020, 11:59
Fors1k   таймеры пригодились бы... Да я думаю можно будет...   14.4.2020, 15:52
Fors1k   Дополнение к V3 И еще одна новинка. Вывод части из...   14.4.2020, 16:42
Fors1k   [font=Arial Black]LuaPosh V4Добавил таймеры. Тайме...   17.4.2020, 18:47
Fors1k   Демонстрация вывода данных в лог https://fors1k.ru...   18.4.2020, 14:07
Fire73   Доброго времени суток! Подскажите, как с его ...   21.4.2020, 18:21
Fors1k   Подскажите, как с его помощью получить из файла вс...   21.4.2020, 18:43
Fire73   --lua log"clear";log"mode compact...   21.4.2020, 19:28
Fors1k   Небольшие изменения и исправления. Архив с обно...   23.4.2020, 20:54
Fire73   Дано: 89997001234:Forsik007:Алла Пугачева:uopilot...   6.6.2020, 18:09
Fors1k   Благодаря команде split, мы можем обойтись без пос...   6.6.2020, 18:36
Levo222   Распаковать рядом с exe пилота. v. 4.1 Прикреплен...   17.6.2020, 16:48
Fors1k   Архив битый Что значит битый? У всех других открыв...   17.6.2020, 17:54
Levo222   Что значит битый? У всех других открывается норма...   17.6.2020, 17:56
Fors1k   У меня всё через одно место. Тогда в чем здесь вин...   17.6.2020, 18:17
Levo222   Тогда в чем здесь вина моего архива? Когда он не...   17.6.2020, 19:17
Fors1k   Может именно rar не хочет открывать у вас.   17.6.2020, 20:49
Fors1k   [font=Arial Black]LuaPosh V5 [*] Добавил команду о...   9.7.2020, 19:15
Fors1k   Prompt с возможностью выбора вариантов. [note][b]...   15.7.2020, 15:13
DarkMaster   Скорость работы этой либы отличается от скорости з...   20.9.2020, 8:51
cirus   Долго первый запуск, потом нормально.   20.9.2020, 11:40
Fors1k   У меня старт занимает 1.73 сек. Поработаю еще над ...   21.9.2020, 18:47
Fors1k   [font=Arial Black]LuaPosh V6 [color=#000000][b]Диа...   28.9.2020, 1:33
Fors1k   [font=Arial Black]LuaPosh V7 [color=#000000][b]Экр...   9.10.2020, 17:52
Fors1k   [b]Добавлены параметры для экранной лупы. [b]-fr...   14.10.2020, 15:40
Fors1k   Поколдовал над запуском. [color=#006400]--lua log ...   18.10.2020, 20:38
Fors1k   Лично у меня пош стартует около 15 секунд.Всё, нак...   22.12.2020, 0:33
Fors1k   [font=Arial Black]LuaPosh V8 [color=#000000][b]Sel...   25.12.2020, 15:17
Fors1k   [b]Тернарный оператор.Синтаксис сделал обычный: [b...   2.2.2021, 18:46
Madeus   Как работает хайд и есть ли возможность хайдить др...   7.4.2021, 16:55
Fors1k   Madeus, Hide-UoPilot прячет процесс пилота от защи...   7.4.2021, 17:39
Fors1k   Набросал вот по-быстрому, попробуй. [color=#006400...   7.4.2021, 18:25
Madeus   Набросал вот по-быстрому, попробуй. Что-то не ро...   7.4.2021, 18:39
Fors1k   Скачал notepad++, у меня получилось. А, ну этой к...   7.4.2021, 18:49
Madeus   А, ну этой команде нужно передавать два параметра...   7.4.2021, 19:00
Fors1k   Все так же Создаётся процесс с именем notepad++....   7.4.2021, 19:19
Madeus   Создаётся процесс с именем notepad++.exe? У меня ...   7.4.2021, 19:46
Madeus   В общем нужна помощь) Вчера скачал - распаковал - ...   7.4.2021, 22:04
Fors1k   Переустанови luaposh. Удали luaposh.lua и папку po...   8.4.2021, 1:31
Madeus   Переустанови luaposh. Удали [b]luaposh.lua и папк...   8.4.2021, 3:28
Fors1k   переименование в настройкахЭто? Оно просто меняет...   8.4.2021, 11:41
Madeus   Это? Оно просто меняет имя окна, процесс так и о...   8.4.2021, 13:45
cirus   Посмотри журнал антивирусника/защитника windows, ...   8.4.2021, 3:07
Fors1k   Notepad не получится так запустить, так как его вл...   8.4.2021, 18:06
dron4938   не нашел кнопки скачать)   25.11.2021, 0:43
yodich   Библиотека LuaPosh   18.12.2023, 23:12
Deadly   Библиотека LuaPosh Прикрепили файл в начало темы.   27.12.2023, 9:29
фонарик   Вроде работало как-то давно у меня данная штуковин...   1.6.2024, 5:16
DarkMaster   --lua local ffi = require 'ffi' local C = ...   3.6.2024, 11:14
DarkMaster   не дались оно мне сразу. часа 3 просидел перед ре...   4.6.2024, 6:00
фонарик   А можно как-нибудь посчитать в пикселях, сколько б...   6.6.2024, 23:06
DarkMaster   можно. для этого есть спец функция в апи. тебе оно...   7.6.2024, 18:03
dron4938   Перестаёт работать поиск изображений. Если в код д...   4.2.2025, 14:32


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

 

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