Что нового

многофункциональная клавиша

Александр_

[url=http://autoit-script.ru/index.php?topic=21393
Сообщения
62
Репутация
2
Доброго времени суток! Постоянно нужно копировать много чисел и вставлять их в нужном порядке :stars: решил задачу следующим образом:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <WinAPIDiag.au3>
#include <APIDiagConstants.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>

#cs
..
..защита файла
..
..
..
#ce
;MsgBox(4096, 'Сообщение', $sText)
;=====================HotKeySet==============================
Global $g_bPaused = False
Global $ex = False
Global $w = False
Global $b = False
Global $ww = False
Global $bb = False
HotKeySet("{1}", "HotKeyPressed")
HotKeySet("{2}", "HotKeyPressed")
HotKeySet("{3}", "HotKeyPressed")
HotKeySet("{4}", "HotKeyPressed")
HotKeySet("{5}", "HotKeyPressed")
HotKeySet("{6}", "HotKeyPressed")
HotKeySet("{7}", "HotKeyPressed")
HotKeySet("{8}", "HotKeyPressed")
HotKeySet("{9}", "HotKeyPressed")
HotKeySet("{0}", "HotKeyPressed")

HotKeySet("{PAUSE}", "HotKeyPressed")
HotKeySet("{LCTRL}", "HotKeyPressed")
HotKeySet("{NUMPAD0}", "HotKeyPressed")
HotKeySet("{NUMPAD1}", "HotKeyPressed")
HotKeySet("{NUMPAD2}", "HotKeyPressed")
HotKeySet("{NUMPAD3}", "HotKeyPressed")
HotKeySet("{NUMPAD4}", "HotKeyPressed")
HotKeySet("{NUMPAD5}", "HotKeyPressed")
HotKeySet("{NUMPAD6}", "HotKeyPressed")
HotKeySet("{NUMPAD7}", "HotKeyPressed")
HotKeySet("{NUMPAD8}", "HotKeyPressed")
HotKeySet("{NUMPAD9}", "HotKeyPressed")
HotKeySet("{NUMPADADD}", "HotKeyPressed")
HotKeySet("{F10}", "TogglePause")


Global $sData0
Global $sData1
Global $sData2
Global $sData3
Global $sData4
Global $sData5
Global $sData6
Global $sData7
Global $sData8
Global $sData9
Global $Paused
;Global $sData = 'текст1'
;While 1
;    Sleep(100)
;0 WEnd


 Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

 Func HotKeyPressed()
    Switch @HotKeyPressed ; The last hotkey pressed.
	Case "{1}" ; String is the {PAUSE}
			Send("^{INSERT}")
			$sData1 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 50)
			;MsgBox(4096, $sData1, $sData1)
        Case "{2}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData2 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 60)
         Case "{3}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData3 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 70)
		Case "{4}" ; String is the {PAUSE} hotkey.
          Send("^{INSERT}")
			$sData4 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 80)
		Case "{5}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData5 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 90)

		Case "{6}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData6 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 100)

	    Case "{7}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData7 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 110)
        Case "{8}" ; String is the {PAUSE} hotkey.
           Send("^{INSERT}")
			$sData8 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 120)
		Case "{9}" ; String is the {PAUSE} hotkey.
           Send("^{INSERT}")
			$sData9 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 130)

		  Case "{0}" ; String is the {PAUSE} hotkey.
            Send("^{INSERT}")
			$sData0 = ClipGet()
			ToolTip("скопировал "& ClipGet(), 0, 140)

   Case "{NUMPADADD}" ; String is the {PAUSE}
			Exit


		Case "{NUMPAD0}"
            ClipPut($sData0)
			Send('+{INS}')

		Case "{NUMPAD1}" ; String is the {PAUSE} hotkey.
			ClipPut($sData1)
			Send('+{INS}')
		Case "{NUMPAD2}" ; String is the {PAUSE} hotkey.
            ClipPut($sData2)
			Send('+{INS}')
		Case "{NUMPAD3}" ; String is the {PAUSE} hotkey.
			ClipPut($sData3)
			Send('+{INS}')
		Case "{NUMPAD4}" ; String is the {PAUSE} hotkey.
			ClipPut($sData4)
			Send('+{INS}')
		Case "{NUMPAD5}" ; String is the {PAUSE} hotkey.
			ClipPut($sData5)
			Send('+{INS}')
		Case "{NUMPAD6}" ; String is the {PAUSE} hotkey.
			ClipPut($sData6)
			Send('+{INS}')
		Case "{NUMPAD7}" ; String is the {PAUSE} hotkey.
			ClipPut($sData7)
			Send('+{INS}')
		Case "{NUMPAD8}" ; String is the {PAUSE} hotkey.
			ClipPut($sData8)
			Send('+{INS}')
		Case "{NUMPAD9}" ; String is the {PAUSE} hotkey.
			ClipPut($sData9)
			Send('+{INS}')
EndSwitch
EndFunc   ;==>HotKeyPressed
;===================================================
;Example1()
ToolTip("Привет! Я включен и готов копировать много-много :) ", 0, 40)
;ToolTip("Что бы я пошел спать жми + на цифровой клавиатуре ;) ", 0, 60)
While 1
  Sleep(1000)  ; Цикл ожидания
WEnd


НО! Возникла проблема, когда надо дописать цифры приходится выключать скрипт, что жутко не удобно...
Пауза не помогает...
Каким образом можно включать и отключать HotKeySet без выключения скрипта!? Т.е не копировать при нажатии, а вернуться к стандартной функции клавиши :-X :IL_AutoIt_1:
 
Автор
А

Александр_

[url=http://autoit-script.ru/index.php?topic=21393
Сообщения
62
Репутация
2
Вопрос из ряда вон! Как посмотреть русскую справку?
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
Александр_
Как посмотреть русскую справку
Можно скачать здесь: Развитие русской справки
Можно кликнуть по функции прямо в коде
Код:
HotKeySet() ; <= кликните по функции для перехода в онлайн-справку

Можно перевести в любом online переводчике часть английской справки, например это: function - [optional] The name of the function to call when the key is pressed. Not specifying this parameter will unset a previous hotkey.
 
Верх