Перейти к содержанию
СофтФорум - всё о компьютерах и не только

AutoHotKey - скриптовый язык программирования


Рекомендуемые сообщения

  Vladislav123321 сказал:

Если кому-то нужно объяснить поподробней то можно созвониться в Skype

ну по сути то звонить не нужно, как и оверквотингом (Оверквотинг — Википедия) не надо баловаться ;)

 

Вот скрипт, он просто большой из-за моих комментариев :mrgreen:

  Показать контент

Правда я не понял фразу

  Цитата

когда на кнопку идёт сигнал(звонок)

Это про что? ;)

Надеюсь не на MButton - средняя кнопка мыши (или колесо) :mrgreen:

 

Хотя... но тогда я твой начальный пример не понимаю - ты просто блокируешь MButton

Ладно разберёмся :)

 

Исходники, что бы не копировать мышкой

Для Vladislav123321 (ANSI).txtПолучение информации...

Для Vladislav123321 (UTF-8).txtПолучение информации...

Для Vladislav123321 (ANSI).txtПолучение информации...

Для Vladislav123321 (UTF-8).txtПолучение информации...

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

@Vladislav123321 Ну и зачем я всё писал то - скачиваний = 0, т.е. зачем просил помочь то?

Ссылка на комментарий
Поделиться на другие сайты

Аксакал извини,не мог зайти!!!
Всё супер,только так как я чайник в скриптах ты можешь мне готовый скрипт дать,а скайп для того чтоб я мог спросить что к чему!)

Ссылка на комментарий
Поделиться на другие сайты

@Vladislav123321, твой ник Скайпа мне в ЛС, мой ник прописан в профиле.

Ссылка на комментарий
Поделиться на другие сайты

У меня в программу идёт звонок,далее мне нужно кликнуть на колесико чтоб я ответил на него,НО помимо меня есть ещё ребята которые так же как и я берут эти звонки.
Мне хотелось чтоб AHK без моего вмешательства брал трубку.Это возможно?)
Помощь очень нужна :surrender: 

Заранее спасибо!)

Ссылка на комментарий
Поделиться на другие сайты

  В 20.01.2015 в 14:50, Форматцевт сказал:

@Vladislav123321, твой ник Скайпа мне в ЛС, мой ник прописан в профиле.

Вот картинка,и координаты.   

Безымянный.bmpПолучение информации...

Безымянный111.png

Безымянный.bmpПолучение информации...

post-120417-0-53859700-1421773123_thumb.

Ссылка на комментарий
Поделиться на другие сайты

@Vladislav123321,  пронял, сижу пишу, как напишу....  файл будет в аттаче

 

ЖДИ ;)

Ссылка на комментарий
Поделиться на другие сайты

  В 21.01.2015 в 19:32, Everybodylies сказал:
@Форматцевт,

 Помоги написать программу, "Перебиватор"

 

Отвечу/сделаю чуть позже , т.к.  с задачей для @Vladislav123321, не так всё просто, как казалось на первый взгляд.

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Извиняюсь, что если кому то не ответил, пропустил вопрос или же просто не помог  — я же всё же человек.




 
И так.
Расширенная и унифицированная версия скрипта из поста № 45



Прелюдия
 
Как показала практика, для большинства программ, а особенно игр  —  требуется закрытие приложений. Хорошо что если их мало  —  у меня их около 8 штук.
И так получается, что бы что то запустить надо что то закрыть, при чём то что мы хотим закрыть просто так не закрывается.
 
Значит будем работать с командой  —  taskkill /F /IM NAME.exe
 
Часть №1 (Предопределения)
;-----Инициализация; Скрипт не выгружается#Persistent; Запрет повторного запуска#SingleInstance ignoreOnExit, lEndProgram                       ;Метка точки выхода#Include C:\AHK\Include\                  ; Устанавливаем путь к файлам скрипта#Include CloseNetWorkApps.ahk             ; Закрытие мешающих сетевых приложений командой taskkill /F /IM NAME.exe#Include RunCon.ahk                       ; Запуск с консоли

Тут всё понятно и много комментариев
 
 
Часть №2 (Что можно было сделать лучше)

  arNetApps :=  [["taskkill /F /IM pidgin.exe",""]                ,["taskkill /F /IM uTorrent.exe",""]                ,["taskkill /F /IM thunderbird.exe",""]                ,["",""]]; Производим закрытие; 1 параметр это тайм-аут в секундах окна диагностики; 2 параметр это ссылка на массив, он должен быть всегда последним!!!; Имя массива может быть любое, но действительное. В этом варианте это массив arNetApps  fnCloseNetWorkApps(3,arNetApps*)

Массив arNetApps можно считывать из текстового файла, но я поленился, да и особой необходимости в этом у меня не возникло - проще дополнить скрипт и перекомпилировать.
 

  Цитата

Цикл чтения файла полезен в случаях, когда вы хотите обработать каждую строку текстового файла по очереди. Он работает быстрее, чем команда FileReadLine, потому что: 1) файл может оставаться открытым в течение всей операции; и 2) нет необходимости каждый раз снова сканировать файл в поисках строки с нужным номером.
Встроенная переменная A_LoopReadLine существует внутри любого цикла чтения файла. Она содержит текст текущей строки, за исключением символов возврата каретки и перевода строки, отмечающих концы строк. Если цикл чтения файла находится внутри другого такого же цикла, текущая строка внутреннего цикла будет иметь преимущество.
Могут считываться строки длиной до 65534 символов. Если длина строки больше этой, её остаток будет считан в следующей итерации цикла.
Внутри цикла чтения файла часто используются команда StringSplit или цикл разбора, чтобы разбирать содержимое каждой строки, извлекаемой из InputFile. Например, если каждая строка в InputFile состоит из полей, разделённых табуляцией, эти поля могут извлекаться по отдельности, как в этом примере:
Loop, read, C:\Database Export.txt
{
Loop, parse, A_LoopReadLine, %A_Tab%
{
MsgBox, Поле номер %A_Index%: %A_LoopField%.
}
}

Для загрузки целого файла в переменную используйте команду FileRead, так как она работает быстрее, чем цикл (особенно для больших файлов).
Чтобы одновременно открыть несколько файлов, следуйте примеру, приведённому в описании команды DllCall.
Смотрите в описании команды Loop информацию о блоках кода, командах Break, Continue и переменной A_Index (которая существует во всех типах циклов).

 
 
Концовка(Но я обычно этим не ограничиваюсь)

lEndProgram:  ExitApp

Скрипт для игры Sacred 2 Gold  for Win7

  Показать контент

 

 

 

Приложение

 

Компилировать я не стал, так у меня одно закрывается, что явно не будет совпадать с вашими потребностями.

 

Содержимое папки C:\AHK\Include\            Include.zipПолучение информации...

Усечённый основной файл для Gothic 3     Gothic3Key.zip

 


Всем успехов с написанием скриптов

 

Gothic3Key.zipПолучение информации...

Include.zipПолучение информации...

Изменено пользователем Форматцевт
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

И так скрипт TrioKeys.ahk   —  одна клавиша три разных действия. т.е. нажимаем LShift, но он на примере игры "The Witcher 2 - Assassins of Kings":

  • Одиночное нажатие достать серебряный меч
  • Двойное нажатие достать стальной меч
  • Убрать оружие

Переназначить можно что угодно + связать два действия - клавиша UP(стрелка вперёд)

  • Одиночное нажатие  —  уклонение вперёд
  • Двойное нажатие  —  кувырок вперёд
  • Удержание  — бег вперёд

Я этого делать не стал, а то в скрипте и так "чёрт ногу сломит" )))

 

Скрипт написан для игр в основном, что бы не заморачиваться с геймпадом/джойстиком и у кого нет многофункциональной клавиатуры или мышки, но и для работы с приложениями он тоже пригодится.
 




Описание
;==============Подпрограмма - Три действия/клавиши в одной======================;  сBaseKey              :=         ; Нажимаемая клавиша;  cAloneKey             :=         ; 1 Виртуальная клавиша;  cDoubleKey            :=         ; 2 Виртуальная клавиша;  cHoldingKey           :=         ; 3 Виртуальная клавиша;--------------Оптимальное значение для игр и мышки на опыте игры "The Witcher 2 - Assassins of Kings";  сPause_PressKey       := 350    ; Если пауза меньше этого количества миллисекунд, то нажатие двойное. Если больше, то оно расценивается как 2 одиночных;  cWaitHoldingBaseKey   := 2      ; Время ожидания в цикле определения удержания за каждый шаг, при больших значениях блокирует одиночное/двойное нажатие.;  cCountHoldingBaseKey  := 25     ; Число шагов цикла для определения удержание клавиши/кнопки, при больших значениях блокирует одиночное/двойное нажатие.;  cWaitVirtualKey       := 10     ; Время задержки между эмуляцией нажатия на клавиши/кнопки подмены реально нажатой клавишей/кнопкой.;  fAutoRepeat           := false  ; Автоповтор реально нажатой клавиши/кнопки - включён/выключен True/False

 
Код для работы с мечами

RShift::    сBaseKey              := "RShift"  cAloneKey             := "sc10"     ;Q - Серебрянный меч  cDoubleKey            := "sc11"     ;W - Стальной меч  cHoldingKey           := "sc12"   ;E - Убрать оружие    сPause_PressKey       := 300     cWaitHoldingBaseKey   := 1       cCountHoldingBaseKey  := 40     cWaitVirtualKey       := 5      cWaitBaselKey         := 10  fAutoRepeat           := false   gosub sbTrioProcessingKeysreturn

 
Подпрограмма обработки sbTrioProcessingKeys

 

  Показать контент


 
Скрипт целиком

 

  Показать контент


 
 
Даю только исходник -  в скрипте большая завязка на имя окна, условие завершения и на сами клавиши TrioKeys.zip

 



 

Всем удачи, надеюсь я не "накосячил", т.к. скрипт был выдран из другого скрипта

Основанная ошибка может быть связана с расположение директив #If WinActive() #IfWinActive и #UseHook, On/Off

TrioKeys.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Немного для почтовой программы   Mozilla Thunderbird



 

Я использую этот почтовик не из любви к продуктам/софту  Mozilla Foundation , но имея 50—75 почтовых ящиков, да мне столько нужно, то почтовик надо настраивать не стандартно, то есть править частично код, что то дописывать к нему.
 
Просто не могу использовать Microsoft Outlook/Outlook Express или иной, т.к.  они много чего не умеют, а если и делают то что мне нужно, то криво... спорить не буду - нет смысла.
И конечно что бы WEB интерфейс использовать уж точно не хватит времени, причем не все они сообщаю о почте + требуют много манипуляций для прочтения/получения/отправки оной.
 
Большим недостатком было то что Mozilla Thunderbird плохо уходил в трей, надо было нажимать или Х или F9, но в первый сложно попасть, а на второй надо нажимать + оба работали не со %100 гарантией срабатывания.
Пришлось взяться сразу за два языка AHK(для скрипта авто-запуска с авто-закрытием в трей и просто авто-закрытия в трей для кнопки на JS) и JS(для получения достаточно большой кнопки с функционалом)
 
Как все сисадмины я просто ленив - проще написать, чем нажимать лишний раз. :mrgreen: 
 
Все откомпилированные скрипты находятся в C:\Program Files (x86)\Mozilla Thunderbird\ - так проще IMHO
 
 

Скрипт запуска - ThunderbirdStartHide.ahk

  Показать контент

 

Скрипт свёртки в трей - ThunderbirdHideTray.ahk

  Показать контент

 

 

Скрипт кнопки на JS

  Показать контент


 

 

Дальше всё просто.

  1. Компилируем ThunderbirdHideTray.ahk в ThunderbirdHideTray.exe и кидаем её в C:\Program Files (x86)\Mozilla Thunderbird\  она работает с кнопкой на JS, но об этом в другой теме - Готовые кнопки для продуктов Mozilla(см. мою подпись)
  2. Компилируем ThunderbirdStartHide.ahk в ThunderbirdStartHide.exe и кидаем её в... куда угодно

Дальше занимаемся :smiles: т.е. правим автозапуск, ведь ради этого мы и страдали фигнёй.

Запомните!!!

Eсли ранее в автозапуске было C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe, то теперь, как пример C:\Program Files (x86)\Mozilla Thunderbird\ThunderbirdStartHide.exe

 

Вариант №1 На ваш выбор

Вариант №2 Реестр используя regedit

Вариант №3 Мой выбор :grin: программа AnVir Task Manager - она бесплатная.

6.png

 

 

Бонус — тут есть всё, даже с избытком   Thunderbird Code and Script.zip

 

Удачи, ну и т.д.

post-37016-0-41923000-1433192170_thumb.p

Thunderbird Code and Script.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

Суммарный скрипт для Ведьмак® 3 - Дикая Охота

  • Закрывает не нужные приложения перед запуском игры.
  • Запускает сам игру.
  • Контролирует(блокирует) повторный запуск игры.
  • Авто-завершение скрипта по таймеру, если игра выгружена, т.е. завершена.
  • Реализует функцию - Три клавиши в одной клавише(как бонус или как пример).

По сути всё не сложно, это суммирование скриптов описанных выше, но всё же описать нужно,так как всё простое бывает сложно в совокупности.
 
 

И так, основной блок, который содержит кое какие нужные изменения/правки.

Да, изменения есть, но что делать, игра стала немножко другая, более технологичная и сложнее в области перехвата.

 



;-----Инициализация;Скрипт не выгружается до явного определения#Persistent;Всегда производим повторный запуск без запроса#SingleInstance  ForceOnExit, lEnd_Witcher3#Include C:\AHK\Include\                  ; Устанавливаем путь к файлам скрипта#Include CloseNetWorkApps.ahk             ; Закрытие мешающих сетевых приложений командой taskkill /F /IM NAME.exe#Include RunCon.ahk                       ; Запуск с консолиSetTimer, lCheckWorkScript, Off ; таймер проверки игры и если игра выгружена то скрипт сделает автовыход.сTimeChkGame := 15000 ; Раз в 15 секунд будет проверятся существование игры; Меню в трее будет не стандартным, а своим - его можно дополнять    fnTray() ; Проверка повторного запуска приложения, время ожидания 5 секунд  If (fnCheckRestartWaitProc("witcher3.exe",5))        {          SetTimer, lCheckWorkScript, %сTimeChkGame%          Return  ; Выходим, а скрипт отстаётся работать        }        ; Производим закрытие не нужных приложений нагружающих ЦП и ОЗУ    arNetApps :=  [["taskkill /F /IM pidgin.exe",""]                ,["taskkill /F /IM uTorrent.exe",""]                ,["taskkill /F /IM thunderbird.exe",""]                ,["taskkill /F /IM Skype.exe",""]                ,["",""]]  fnCloseNetWorkApps(2,arNetApps*) ; Запускаем приложение, в данном случаее это Ведьмак® 3 - Дикая ОхотаThread, NoTimers  ExcutePath := "F:\GameS\The Witcher 3 Wild Hunt\bin\x64\witcher3.exe"  WorkPath   := "F:\GameS\The Witcher 3 Wild Hunt\bin\x64\"  Run, %ExcutePath%, %WorkPath%Thread, NoTimers, false  Sleep 1000  SetTimer, lCheckWorkScript, %сTimeChkGame%Return ; Выходим, а скрипт отстаётся работатьlCheckWorkScript:  If (fnCheckRestartWaitProc("witcher3.exe",2))        Return ; игра активна  Gosub lEnd_Witcher3 ; Игры нет, надо завершить скриптReturnlEnd_Witcher3:ExitApp ; Условия выхода реализованно через меню трея и через таймерfnTray(){global ;Установки трея для скрипта    Menu1  := "Выход"    Menu, tray, NoStandard  ; меню в трее будет не стандартным - своим            ;Добавляем пункт меню по ПКМ      Menu, tray, add  ;Разделитель        Menu, tray, add, %Menu1%, lEnd_Witcher3      Menu, tray, add  ;Разделитель                    ; Задаём свою выноску "балон"      Menu, tray, tip, ——Обработка клавиш——`n        Ведьмак® 3 - Дикая Охота`n`nАвтор: Indomito©`nReturn};------Функция проверки повторного входа(игра уже запущена или нет, скрипт не проверяем)fnCheckRestartWaitProc(vPIDName, vWaitProc){  Thread, NoTimers    Process, Wait, %vPIDName% , %vWaitProc% ; Ждем процесса  vPIDName,  vWaitProc секунд    if (ErrorLevel == 0)          vRet  := False  ; Программа и/или скрипт не запущен    Else          vRet  := True        Thread, NoTimers, false  Return vRet ; Выходим с ответом};-------------------------------------------------------------------------------------SetTitleMatchMode, 1    ; Окно должено начинаться со слов "The Witcher"#If WinActive("The Witcher")  ; Тут можно переназначать клавиши, запускать таймеры и т.д.; Только делать это надо аккуратно, а то "концов не найдёте" ;)



 
Вот по сути и всё, в аттаче только исходный текст скрипта.

Я бы дал готовый EXE, но проблема в том, что каждый хочет переназначить клавиши под свои желания. С путем запуска проблем нет - он легко находится в реестре.

  • скрипт должен быть откомпилирован в ЕХЕ-файл иначе он не будет работать из за запуска стороннего приложения
  • корректирующие таймеры отсутствуют, что бы не путать вас, кроме таймера авто-завершения скрипта
  • меню в трее построено так, что может быть изменено - об этом писал в более ранних постах
  • файлы подключаемые по #Include  - CloseNetWorkApps.ahk и RunCon.ahk описаны выше в постах и не подвергались модификации.
  • файлы подключаемые по #Include нужны только для функции fnCloseNetWorkApps - т.е. без них можно обойтись, удалив соответствующие строки подключения, описания и вызова функции
  • файлы должны быть в формате UTF-8
  • компилировать используя библиотеки - Unicode 32-bit или Unicode 64-bit, использовать MPRESS необязательно(по желанию)
  • версия АНК и компилятора  — 1.1.22.2 ЭТО ОБЯЗАТЕЛЬНО!!!

Аттач: Файл RunKeysWitcher3.ahk в ZIP-архиве(UTF-8)  — RunKeysWitcher3.zip

RunKeysWitcher3.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Скрипт/код для Чтения и диагностики файла любой сложности

  • Читает INI-файл, в любых вариантах и любой сложности.
  • Выдаёт диагностику.
  • Позволяет настроить систему диагностики.
  • Реализован как две независимые функции(из вне).
  • Возвращает считанное значение в указанную перемеренную, а так же возвращает доп. значения для точной идентификации считанного.

Все коды будут под спойлером иначе, пост займёт не одну страницу

 

И так, не всё так сложно как я написал, начну с простого, с диагностики ошибок.

 

Сначала нам потребуется фрагмент определения поведения встроенной функции MsgBox

  Показать контент

Далее надо провести инициализацию функции fnIniErrorOut написав:

  •  fnIniErrorOut(0)        на свой/её обработчик реакции на ошибку;
  •  fnIniErrorOut(1000)   вами написанный обработчик реакции на ошибку, число 1000 выбрано т.к. 1000-я ошибка практически невозможна. Можно поменять, чуть подправив код, на -1, но только не на True.

Адреса обработчиков хранятся в двух глобальных переменных fnIniErrorOut_LabelMin(минимизация перед выводом ошибки) и  fnIniErrorOut_LabelExit(как говорится что делать по тайм-ауту). Они не требуют пред описания функция fnIniErrorOut создаёт/определяет их сама. 

 

Действие по умолчанию, т.е. при fnIniErrorOut(0)

  Показать контент

 

Теперь перейдём к header functions, т.е. к заголовкам функций... говоря по русски

 

Начнём с функции fnIniErrorOut тут немного проще, и да, с этими функциями гораздо проще работать проще, чем со стандартным IniRead



Функция fnIniErrorOut(NumError, ByRef FilenameINI := "", ByRef SectionINI := "",  ByRef KeyINI := "", ByRef SecWait :=   35, ByRef cMsgBoxType := 8208)

 

  • ByRef                                             - это модификатор который говорит что переменные ссылаются на одну область памяти
  • Имя_переменной := значение  - переменная по умолчанию имеет значение, т.е. значение по умолчанию
  • NumError                                       - номер ошибки               
  • FilenameINI                                   - полный или относительны путь к INI-файлу
  • SectionINI                                      - имя секции
  • KeyINI                                            - имя ключа/переменной
  • SecWait                                         - тайм-аут
  • cMsgBoxType                               - тип ошибки сMsgBoxError_Ok :=0+8192+16 ;only an OK button + Task Modal + Icon Hand (stop/error)  это в спойлере, см. выше

 

Всё конечно заполнять не нужно, достаточно кода ошибки, тайм-аута и типа ошибки, а если вызывается функция fnIniReadAndСheck то заполнять ничего не надо.



Функция fnIniReadAndСheck(ByRef OutputINI, FilenameINISectionINI := ""KeyINI := ""KeyTrFl := TrueByRef varLen := 0ByRef SkipSec := FalseByRef SkipVar := FalsevWait :=  35)

 

Я не буду повторятся, принцип тот же, только опишу что новое.

  • OutputINI  - считанное значение из INI
  • KeyTrFl     - флаг проверки, т.е. если переменной или секции нет или переменная или секция пустая то будет ошибка №2
  • varLen      - сделана, если KeyTrFl := false, значение OutputINI вернула 0, примеры ниже их много.
  • SkipSec    - пропуск секции при возникновении/без ошибки(реализовано на всякий случай)
  • SkipVar     - пропуск переменной при возникновении ошибки/без, если SkipSec := True и SkipVar := True то приоритет за SkipSec(реализовано на всякий случай)


 

Примеры 7 штук

  Показать контент

Хочу добавить, что не обязательно писать fnIniReadAndСheck(OutputINI, FilenameINI, SectionINI := "Bats",,0,varLen), можно и так fnIniReadAndСheck(OutputINI, FilenameINI,  "Bats",,0,varLen) просто я так привык записывать любой вызов функции с параметрами по умолчанию

 

Ну и исходник целиком - правьте как угодно, может у вас получится лучше чем у меня. 

  Показать контент

 

Вот исходный текст обеих функций IniReadDiag.zip

 

P.S. Я наверное в этой теме не буду временно ничего публиковать - подписок, скачиваний, etc - пока нет, значит не нужно/не интересно.

IniReadDiag.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

Моя жена в очередной раз подсела на линейку, т.е. на "Фэнтезийная онлайн игра Lineage 2" ну и меня собой утянула... как всегда. :mrgreen:
Игровой сайт - https://asterios.tm, адрес даю т.к. на нём разрешены скрипты на AHK... а вот почему, для меня загадка... ну и ладно.
 
Начал играть и тут же столкнулся сразу с двумя проблемами.

  • Жена не отключает µTorrent - надеюсь вы понимаете что это приводит к жутким лагам, пинг около 500 ms и выше, хотя трассировал сервер максимальный пинг 3 ms. Трассировка выполнялась ПО WinMTR.exe
  • Клиент под названием AsteriosGame.exe, а не L2.exe - висел в процессах, хотя его окно уже закрыто... приходилось закрывать в ручную.

Меня на такое измывательство хватило 2-3 дня и я написал скрипт, я не буду давать серверный вариант, т.к. там сложновато с разборкой - надеюсь простой версии хватит.
 
Комментарии в AHK почти как в С++
Блоковый - одинаков
Строчный(от и до конца строки) не //, а ;

 

Main-файл

  Показать контент

 

В аттаче все и сохранена структура папок для компиляции - Drive_C to AHK.zip

 

Удачи

Drive_C to AHK.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Закрытие/Запуск приложений.


И так меня достало выгружать, а потом запускать разное ПО и написал программку - EndGoApps.exe

 

Программа без претензий ;) она делает выгрузку или загрузку ПО.

 

Алгоритм работы с ней:

  • Размещаем файл EndGoApps.exe где желаем или где нужно
  • При первом запуске она создаёт папку  EndGoApps.res в её месте расположения.
  • Имя программы можно поменять, а вот базовую папку нельзя.

Структура папки  EndGoApps.res

EndGoApps.res      -   Папка для ресурсов

EndGoApps.res\EndGoApps.ini - INI-files всех настроек

 

     Как выглядит EndGoApps.ini у меня

[Main]//Переменные должны быть и не должны быть пустымиCreator1=Закрытие/Запуск приложений.Creator2=Автор - Indomito 2016 год//Минимальное значение 7, т.е. 7 секундWaitUser=30[start]//Запуск программ используя ярлыки из папки ...EndGoApps.res\LNK//Переменная должна быть и может быть пустойNameStart=pidgin,uTorrent,Thunderbird,Skype[Close]//Закрытие процессов//Переменная должна быть и может быть пустойNameClose=pidgin,uTorrent,thunderbird,Skype

Далее...

 

EndGoApps.res\LNK       -   Папка для стартовых линков и в ней кучка lnk-files

 

Как с папкой быть?

  1. Кидаем в неё lnk-files
  2. Описываем их в переменной NameStart
  3. Ну и не забываем описать NameClose
  4. Одна из переменных может пустой или же обе, хотя тогда не очень понятно зачем тогда вам программа.
  5. Переменные должны быть, например так NameStart= и NameClose= иначе вывод ошибки.

Есть GUI-интерфейс, хотя я думал сделать через консоль, но попросили и сваял окошко.

 

                                    14.png

 

Все ошибки отловил.

Не контролируется наличие или не верное имя lnk или процесса!!!

 

Исходник, для любителей почитать

  Показать контент

 

EXE - работает на всех версих Windows EndGoApps.zip

 

Удачи :)

post-37016-0-85195300-1454437294_thumb.p

EndGoApps.zipПолучение информации...

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

Добрый день. Подскажите: как сделать чтобы клавиша "D" в сочетании с клавишей мышки "MButton" работали как Альт+MButton, а простое нажатие на "D" оставалось буквой D?

Ссылка на комментарий
Поделиться на другие сайты

или лучше подскажите как подправить скрипт "TrioKeys.ahk   —  одна клавиша три разных действия" чтобы при 3м действии - зажатии клавиши зажималась другая клавиша

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
  dm.tr.y сказал:

или лучше подскажите как подправить скрипт "TrioKeys.ahk — одна клавиша три разных действия" чтобы при 3м действии - зажатии клавиши зажималась другая клавиша

 

Этим сейчас занимаюсь, но в Москве жарко... голова не варит, а скрипт достаточно сложный - попытался сделать простым путём, всё отвалилось.

Я его буду переписывать с "нуля".

 

@dm.tr.y, Если тебе нужно срочно, то я сделаю.

Как вариант просто удержание тебе видимо не годится?

Нужны все три варианта?

 

P.S. Если честно, то я хочу в Mass Effect 3 доиграть, осталось немного я 48-го уровня, а максимум 60-й. :gun_guns:

P.P.S. Cкрипт TrioKeys.ahk лучше не править - не будет работать, там завязка на однопроходную систему прерываний.

Изменено пользователем Форматцевт
Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...