1

Тема: AHK: Everything.exe

Привет! Подскажите, почему не работает второй хоткей?
Функцию взял здесь.

#SingleInstance Force
SetTitleMatchMode 2

^+vk47:: ; g 
@:=Clip()
Run http://www.google.com/search?q=%clipboard%
Clip(@)
return

CapsLock & vk46:: ; f
@:=Clip()
RunWait, Everything.exe, C:\Program Files\Everything\
ControlSetText, Edit1, %Clipboard%, Everything
Clip(@)
return

Clip(Text="", Reselect="")
{
	Static BackUpClip, Stored, LastClip
	If (A_ThisLabel = A_ThisFunc) {
		If (Clipboard == LastClip)
			Clipboard := BackUpClip
		BackUpClip := LastClip := Stored := ""
	} Else {
		If !Stored {
			Stored := True
			BackUpClip := ClipboardAll ; ClipboardAll must be on its own line
		} Else
			SetTimer, %A_ThisFunc%, Off
		LongCopy := A_TickCount, Clipboard := "", LongCopy -= A_TickCount ; LongCopy gauges the amount of time it takes to empty the clipboard which can predict how long the subsequent clipwait will need
		If (Text = "") {
			SendInput, ^c
			ClipWait, LongCopy ? 0.6 : 0.2, True
		} Else {
			Clipboard := LastClip := Text
			ClipWait, 10
			SendInput, ^v
		}
		SetTimer, %A_ThisFunc%, -700
		Sleep 20 ; Short sleep in case Clip() is followed by more keystrokes such as {Enter}
		If (Text = "")
			Return LastClip := Clipboard
		Else If (ReSelect = True) or (Reselect and (StrLen(Text) < 3000)) {
			StringReplace, Text, Text, `r, , All
			SendInput, % "{Shift Down}{Left " StrLen(Text) "}{Shift Up}"
		}
	}
	Return
	Clip:
	Return Clip()
}

2

Re: AHK: Everything.exe

RunWait ожидает, пока запущенный процесс не будет завершён.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: becauseim, 2019-05-12 15:35:06)

Re: AHK: Everything.exe

Спасибо! Но не работает даже так:

CapsLock & vk46:: ; f
@:=Clip()
Run, Everything.exe, C:\Program Files\Everything\
WinWaitActive, ahk_class EVERYTHING
ControlFocus, Edit1, ahk_class EVERYTHING
SendInput % Clipboard
Clip(@)
return

С Notepad.exe работает.

4

Re: AHK: Everything.exe

После Run окно не моментально появляется, а следующая команда сразу идёт.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Everything.exe

teadrinker, добавил

WinWaitActive, ahk_class EVERYTHING

- не помогло.

6

Re: AHK: Everything.exe

А что должна делать функция Clip()? Что-то помещать в буфер обмена? Тогда поставьте после её вызова

MsgBox, % Clipboard 

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Everything.exe

teadrinker, да, ф-ия возвращает в буфер исходное содержимое.

Первый хоткей работает. Поиск в Гугл выделенного текста. Но именно с Everything - нет, хотя у неё вроде как стандартный интерфейс.

8

Re: AHK: Everything.exe

Поясните, что должно происходить по этому хоткею.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder