1 (изменено: romzes96, 2017-12-12 14:15:00)

Тема: Бинд переменной.

Здравствуйте столкнулся с тем что мне необходимо забиндить переменную.
Выглядит это следующим образом:
Человек запускает скрипт и выбирает из списка клавишу на которую бы хотел назначить бмнд. И скрипт превасходно работает, НО это не так) Я пробовал сделать это через гуи и переменную, но ничего не получилось. Так как переменную он биндить не хочет.
Вот так выглядит код с гуи и переменной:

+ открыть спойлер
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#NoEnv
#Persistent
#KeyHistory, 0
#HotKeyInterval -1
#MaxHotkeysPerInterval 200
#InstallKeybdHook
#SingleInstance, Force
SetKeyDelay 0
SetMouseDelay, 0
#Persistent
SetBatchLines, -1
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen

FileInstall, C:\Users\Tom\Desktop\Скрипты\1\Вторичка\Screenshot_14.png, %A_temp%\Screenshot_14.png

Gui, Font, S15 CDefault Bold, Verdana
Gui, Add, Text, x122 y9 w230 h30 , Выберите клавишу
Gui, Add, ListBox, x12 y49 w450 h254 vList AltSubmit, ListBox|Space||Rbutton|MButton|v|c|b|n|LAlt|LControl|LCtrl|LShift|
Gui, Add, Button, x187 y319 w100 h30 gOK, ОК
; Generated using SmartGUI Creator 4.0
Gui, Show, x127 y87 h379 w479, New GUI Window
Return

GuiClose:
ExitApp
Return

ok:
gui submit

Bind := 0

if list = 1
msgbox, Это не клавиша,перезапустите скрипт и выберите другую клавишу!
if list = 2
Bind = sc39
msgbox, %bind% скан-код клавиши "Space"
if list = 3
msgbox, 3

%bind%::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return

*~sc3B::
Suspend
Return

А вот немного другой вариант, где по идеи должны меняться бинды от выбора пользователя, но этого не происходит всегда активируется все бинды, но корректно работает   только "ПРОБЕЛ":

+ открыть спойлер
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#NoEnv
#Persistent
#KeyHistory, 0
#HotKeyInterval -1
#MaxHotkeysPerInterval 200
#InstallKeybdHook
#SingleInstance, Force
SetKeyDelay 0
SetMouseDelay, 0
#Persistent
SetBatchLines, -1
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen

FileInstall, C:\Users\Tom\Desktop\Скрипты\1\Вторичка\Screenshot_14.png, %A_temp%\Screenshot_14.png

Gui, Font, S15 CDefault Bold, Verdana
Gui, Add, Text, x122 y9 w230 h30 , Выберите клавишу
Gui, Add, ListBox, x12 y49 w450 h254 vList AltSubmit, ListBox|Space||Rbutton|MButton|v|c|b|n|LAlt|LControl|LCtrl|LShift|
Gui, Add, Button, x187 y319 w100 h30 gOK, ОК
; Generated using SmartGUI Creator 4.0
Gui, Show, x127 y87 h379 w479, New GUI Window
Return

GuiClose:
ExitApp
Return

ok:
gui submit

if list = 1
msgbox, Это не клавиша,перезапустите скрипт и выберите другую клавишу!
;exitapp
if list = 2
{
msgbox, Ускорение активированно на "Space"
Space::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 3
{
msgbox, Ускорение активированно на "Rbutton"
Rbutton::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 4
{
msgbox, Ускорение активированно на "MButton"
MButton::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 5
{
msgbox, Ускорение активированно на "v"
sc2F::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 6
{
msgbox, Ускорение активированно на "c"
sc2E::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 7
{
msgbox, Ускорение активированно на "b"
sc30::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 8
{
msgbox, Ускорение активированно на "n"
sc31::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 9
{
msgbox, Ускорение активированно на "LAlt"
LAlt::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 10
{
msgbox, Ускорение активированно на "LControl"
LControl::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 11
{
msgbox, Ускорение активированно на "LCtrl"
LCtrl::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}
if list = 12
{
msgbox, Ускорение активированно на "LShift"
LShift::
ImageSearch, FoundX, FoundY, 0,0, A_ScreenWidth, A_ScreenHeight, %A_temp%\Screenshot_14.png
if !ErrorLevel
{
	MouseMove, FoundX+20, FoundY-10,
	MouseClick, left
}
else
{
	
}
Return
}


*~sc3B::
Suspend
Return

Может ли кто намекнуть что не так?)
Спасибо!

2

Re: Бинд переменной.

Справка → Клавиатура → Hotkey.