Помогите написать простой скрипт

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Помогите написать простой скрипт

Re: Помогите написать простой скрипт

Post by m1fist0 » 13 Nov 2023, 06:31

Спасибо вам огромное! вы лучший!

Re: Помогите написать простой скрипт

Post by vmech » 12 Nov 2023, 12:18

Как избавиться от мигания лампочки - я не знаю. По идее это сам Autohotkey постоянно обновляет её состояние, из за команды SetCapsLockState.
Лично мне здесь видится 4 пути:
  1. Закомментировать функцию SetCapsLockState вовсе. Но тогда любая другая программа или скрипт может отключить лампочку, и уже будет непонятно - работает именно этот скрипт, или нет.
  2. Оставить всё как есть, НО добавить в самом начале скрипта функцию SetStoreCapsLockMode(0). Эффект, предположительно, будет как в п.1.
  3. Если добавить постоянный ToolTip как индикатор, то SetCapsLockState можно смело закомментировать - важность управления лампочкой отойдёт на задний план.
  4. Использовать другую кнопку, например ScrollLock - неплохой кандидат, и реализовать засыпание скрипта (Suspend), а не просто остановку таймера. Но лампочка всё равно будет мигать, только уже соседняя :lol: А иконка скрипта в трэе хоть и будет меняться от текущего режима (сон/работа), но мне она кажется малоинформативной. Хотя и иконку можно сменить на другую, но это будет уже совсем другая история.
Как добавить тултип:

Code: Select all

#Requires Autohotkey v2.0
vk14::
{
  Static  trigger := 0,
          procKeySend := ()=>(Send('{vkC0 down}'), Sleep(10), Send('{vkC0 up}'))
  SetCapsLockState(trigger ^= 1),
  SetTimer(procKeySend, trigger && 50),
  trigger && ( procKeySend(), ToolTip('РАБОТАЕТ') ) || ToolTip()
}
Дальше экспериментируй сам - лыжи то твои ;)

ЗЫ. В функции ToolTip можно задать координаты на экране, где подсказка будет отображаться, например ToolTip('РАБОТАЕТ', 800, 600).

Re: Помогите написать простой скрипт

Post by m1fist0 » 12 Nov 2023, 02:34

спасибо! работает! если возможно- то Добавить добавить ToolTip когда скрипт работает ! я тут нашел один скрипт и получилось добавить подсказку ( правда это на первой версии да и лампочка мигает от CapsLock)

Code: Select all

vk14::
	SetCapsLockState, On
	ToolTip, ONONONONONONONONON, 1200, 5           ; тут показывает в верху активного окна            
    If isKeyPressed := !isKeyPressed   
        SetTimer, SendA, 10                 
    Else
    {
	SetCapsLockState, Off
	SetTimer, RemoveToolTip, -10                                ;   тут удаляет если капс лок не работает    
        SetTimer, SendA, Off                
        Send {vkC0 Up}                       
    KeyWait vk14                              
    return
RemoveToolTip:
ToolTip
return

SendA:
    Send {vkC0 Down}
    return
[Mod edit: [code][/code] tags added.]

Re: Помогите написать простой скрипт

Post by vmech » 12 Nov 2023, 00:03

Code: Select all

#Requires Autohotkey v2.0
vk14::
{
  Static  trigger := 0,
          procKeySend := ()=>(Send('{vkC0 down}'), Sleep(10), Send('{vkC0 up}'))
  SetCapsLockState(trigger ^= 1),
  SetTimer(procKeySend, trigger && 50),
  trigger && procKeySend()
}

Помогите написать простой скрипт

Post by m1fist0 » 11 Nov 2023, 05:06

Скрипт должен включаться с клавиши capslock, и когда CapsLock включен (горит лампочка) должна зажаться клавиша " ` " (тильда), и наоборот - когда CapsLock выключен клавиша должна отжаться!!! помогите пожалуйста
я пробовал сам что-то написать но все четно!

Code: Select all

vk14::

	#If GetKeyState("CapsLock", "T")   ; CapsLock включен
	Loop   ; зацыклить действие в скобках
{
	Send {vkC0 down}  ; Нажать клавишу "ё".
	Sleep 10  ; Держать её нажатой 10 миллисекунд.
	Send {vkC0 up}  ; отпустить кнопку "ё".
}	
	return
[Mod edit: + code tags.]

Top