[Урок] Полезные функции - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Урок] Полезные функции
Sergo_bro2 Дата: Вторник, 15.04.2014, 20:32 | Сообщение # 1
Coder
Сообщений: 892
Статус: Offline
Всем доброго времени суток. Я решил писать всякие полезные ну или просто какие нибудь функции и выкладывать их сюда.
1 функция[Меняем Title любого окна]:
Код
Numpad0::
NewTitleWindow := "ICalc" ; новое название окна
ActiveWindow := "Калькулятор" ; окно которое нужно переименовать
WM_SETTEXT := 0xC ; код сообщения
SendMessage, %WM_SETTEXT%, 0, &NewTitleWindow, , %ActiveWindow%

Все коды сообщений тут
===================================
2 функция[Аварийный выход из программы]:
Код
FatalExit(msg, action=0) {
       hModule := DllCall("kernel32\FatalAppExit", "Int", action, "Str", msg)       
       DllCall("FreeLibrary", "UInt", hModule)
}

Используем так:
Код
FatalExit("Аварийный выход из программы :(")

Вывод сообщения можете написать любой.
===================================
3 функция(+ 1 доп.функция)[Очищаем ОЗУ]:
Эту функцию выковырял из одного скрипта.
Код
ClearMemory()
{
          for process in ComObjGet("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_Process")
          {
              handle := DllCall("Kernel32.dll\OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", process.ProcessID)
              DllCall("Kernel32.dll\SetProcessWorkingSetSize", "UInt", handle, "Int", -1, "Int", -1)
              DllCall("Psapi.dll\EmptyWorkingSet", "UInt", handle)
              DllCall("Kernel32.dll\CloseHandle", "Int", handle)
          }
          return
}
FreeMemory()
{
          return DllCall("Psapi.dll\EmptyWorkingSet", "UInt", -1)
}

Использование:
Код
ClearMemory()
FreeMemory()

Эта функция подойдет для AntiAFK_R, очень хорошо снижает съедание оперативной памяти используемой ботами.
=====================================
4 функция[Изменяем внешний вид программы]:
Вот примерчик, GUI становится таким "староватым":
Код
Gui, Add, Button, x35 y15 w60 h25 gTheme, Изменить
Gui, Show, w131 h55, MyScript
Gui, +LastFound ; Делаем его последним найденным окном
WinGet, hGUI, ID ; узнаем ID окна
return
Theme:
Theme := !Theme
If Theme
     DllCall("uxtheme\SetWindowTheme","UInt",hGUI,"UInt",0,"Str","")
else
     DllCall("uxtheme\SetWindowTheme","UInt",hGUI,"Str","","UInt",0)
Return
GuiClose:
ExitApp

5 функция[Добавляем в поле ввода "невидимый текст"]:
Вот пример:
Код
Gui, Add, Edit, x42 y30 w200 h20 +0x20 hwndhEdit
Gui, Show, AutoSize, Enter Credentials
SetEditCue(hEdit, "<>Enter Password<>")
return
GuiClose:
ExitApp

SetEditCue(HWND, Text) {
   static Set := 0x1500 + 1
   return DllCall("User32.dll\SendMessage", "Ptr", HWND, "UInt", Set, "Ptr", True, "WStr", Text)
}

6 функция[Блокируем экран, не опасно :)]:
Код
LockWorkStation()

LockWorkStation() {
   DllCall("User32\LockWorkStation")
}

Постепенно буду еще выкладывать что нибудь.


CS:GO RANK: SUPREME*Клац*
[b][+]Skype: sergeiplugatyr



Сообщение отредактировал Sergo_bro2 - Вторник, 13.05.2014, 09:44
CatWithAutism Дата: Вторник, 15.04.2014, 20:35 | Сообщение # 2
Я на дерево залез.
Сообщений: 139
Статус: Offline
Прочитал только суть, но молодец

сижу я как-то на стуле, потом вдруг встаю, но не могу, жопа вросла в стул, стул врос в пол, пол врос в люстру, люстра пипец тяжёлая... потом отпустило ©Ruskadance
Sergo_bro2 Дата: Вторник, 13.05.2014, 09:44 | Сообщение # 3
Coder
Сообщений: 892
Статус: Offline
Добавил еще 1 функцию.

Добавлено (13.05.2014, 09:44)
---------------------------------------------
Обновил.


CS:GO RANK: SUPREME*Клац*
[b][+]Skype: sergeiplugatyr

Artem_Buero Дата: Вторник, 13.05.2014, 15:58 | Сообщение # 4
Сообщений: 4223
Статус: Offline
Sergo_bro2, SetCue отличная функция happy

МОЙ ВК - https://vk.com/gospodin_buero
Sergo_bro2 Дата: Вторник, 13.05.2014, 16:55 | Сообщение # 5
Coder
Сообщений: 892
Статус: Offline
Artem_Buero, Пользуйся

CS:GO RANK: SUPREME*Клац*
[b][+]Skype: sergeiplugatyr

Jamely Дата: Среда, 14.05.2014, 11:18 | Сообщение # 6
Сообщений: 1603
Статус: Offline
Цитата Sergo_bro2 ()
SetEditCue(HWND, Text) {
static Set := 0x1500 + 1
return DllCall("User32.dll\SendMessage", "Ptr", HWND, "UInt", Set, "Ptr", True, "WStr", Text)
}

Вот это действительно полезно
[CM]EMINƎM Дата: Пятница, 16.05.2014, 13:29 | Сообщение # 7
Любитель
Сообщений: 46
Статус: Offline
Молодец! + поставил :)

• Дима дал разрешение на создание аккаунта. •

Мои разработки:
--------------------------------------------------------------------------
Симулятор SAMP: http://cheat-master.ru/forum/150-313718-1#1853601
Chatlog: http://cheat-master.ru/forum/160-313521-1#1852605
--------------------------------------------------------------------------

• Играю в DOTA 2 •
• Lerka <3 •
MrGPro Дата: Среда, 14.09.2016, 00:46 | Сообщение # 8
Боец
Сообщений: 202
Статус: Offline
Прозрачный текст в форме Edit

Вот >> Скин
Код
Gui, +AlwaysOnTop
Gui, Add, Edit, w125 hwndhLogin
Gui, Add, Edit, y+5 wp hwndhPass  
Gui, Show
EM_SETCUEBANNER(hLogin, "Login")
EM_SETCUEBANNER(hPass, "Password", 0)
return

; showfocus 1 - показывать подсказку когда в фокусе, 0 - непоказывать подсказку когда в фокусе
EM_SETCUEBANNER(HWND, Text, showfocus=1) {  
    Static EM_SETCUEBANNER := 0x1501
    IF !(HWND + 0) {
      GuiControlGet, CHWND, HWND, %HWND%
      HWND := CHWND
    }
    VarSetCapacity(WText, (StrLen(Text) * 2) + 1)
    DllCall("MultiByteToWideChar", UInt, 0, UInt, 0, UInt, &Text, Int, -1, UInt, &WText, Int, StrLen(Text) + 1)
    DllCall("SendMessageW", "UInt", HWND, "UInt", EM_SETCUEBANNER, "UInt", showfocus, "UInt", &WText)
    RETURN
}


Добавлено (14.09.2016, 00:46)
---------------------------------------------

Загрузка всех параметров *ini файла в переменные.

Загрузка параметров *.ini в скрипт
globalsFromIni("Pricelist.ini")

Перемененные загружаться в таком формате;
Код
Script_Сonf1=1
Script_Сonf2=1
Set_Triger=1
Set_Bot=1


Использование и чтение
%Script_Сonf1%

Пример файла: *.ini
Код
[Script]
Conf1=2
Conf2=3
[Set]
Triger=1
Bot=2


Сама функция:
Код
globalsFromIni(_SourcePath, _VarPrefixDelim = "_")
{
    ; Public Domain 2008 Tuncay
    Global
    Local FileContent, CurrentPrefix, CurrentVarName, CurrentVarContent, DelimPos
    FileRead, FileContent, %_SourcePath%
    If ErrorLevel = 0
    {
        Loop, Parse, FileContent, `n, `r%A_Tab%%A_Space%
        {
            If A_LoopField Is Not Space
            {
                If (SubStr(A_LoopField, 1, 1) = "[")
                {
                    StringTrimLeft, CurrentPrefix, A_LoopField, 1
                    StringTrimRight, CurrentPrefix, CurrentPrefix, 1
                }
                Else
                {
                    DelimPos := InStr(A_LoopField, "=")
                    StringLeft, CurrentVarName, A_LoopField, % DelimPos - 1
                    StringTrimLeft, CurrentVarContent, A_LoopField, %DelimPos%
                    CurrentVarName = %CurrentVarName%
                    %CurrentPrefix%%_VarPrefixDelim%%CurrentVarName% = %CurrentVarContent%
                }
            }
        }
    }
}


Тебе помогли не забывай про благодарность >> тыкни репутацию
---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ -----------------------------------------------------
Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия


Сообщение отредактировал MrGPro - Среда, 14.09.2016, 00:47
zeka1999 Дата: Пятница, 16.09.2016, 20:02 | Сообщение # 9
Новичок
Сообщений: 8
Статус: Offline
Объясните как работает аварийный выход. И как его активировать..
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума