1 (изменено: ypppu, 2014-10-27 00:29:17)

Тема: AHK: Поиск в интернете по выделенному тексту

Ребята, возможен ли скрипт на AHK для поиска в браузере любого выделенного текста в Windows по хоткею, если да то куда копать?


Скорректировал название темы
ypppu

2

Re: AHK: Поиск в интернете по выделенному тексту

Где находится выделенный текст? Что вы понимаете под поиском? В каком именно браузере собираетесь искать?

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

3 (изменено: dredj, 2014-10-26 16:26:19)

Re: AHK: Поиск в интернете по выделенному тексту

Везде где мышкой можно выделить текст, например в блокноте, при переименование файла, в заметках, в браузере и т.д. Поиск в google, браузер chrome.

4

Re: AHK: Поиск в интернете по выделенному тексту

Так примерно:

+F1::   ; Shift + F1
   Clipboard := ""
   SendInput, ^{vk43}  ; посылаем Ctrl + C
   ClipWait, 0
   if ErrorLevel
   {
      TrayTip,, Текст для поиска не определён
      Return
   }
   Clipboard := RegExReplace(Clipboard, """", "%22")
   Run chrome.exe http://www.google.com/search?q="%clipboard%"
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

5

Re: AHK: Поиск в интернете по выделенному тексту

А лучше так:

+F1::   ; Shift + F1
   Clipboard := ""
   SendInput, ^{vk43}  ; посылаем Ctrl + C
   ClipWait, 0
   if ErrorLevel
   {
      TrayTip,, Текст для поиска не определён
      Return
   }
   str := URIEncode(Clipboard)
   Run chrome.exe http://www.google.com/search?q="%str%"
   Return
   
URIEncode(Str)
{
   b_Format:=A_FormatInteger
   SetFormat, IntegerFast, H
   Loop, % StrPutVar(Str, Var, "UTF-8")
   {
      Ch:=NumGet(Var, A_Index-1, "UChar")
      If Ch=0
         Break
      If (Ch>0x7f Or Ch<0x30 Or Ch=0x3d)
         s.="%"((StrLen(c:=SubStr(Ch, 3))<2) ? "0"c:c)
      else
         s.=Chr(Ch)
   }
   SetFormat, IntegerFast, % b_Format
   Return, s
}

StrPutVar(string, ByRef var, encoding = "CP0")
{
    ; Ensure capacity.
    VarSetCapacity( var, StrPut(string, encoding)
        ; StrPut returns char count, but VarSetCapacity needs bytes.
        * ((encoding="utf-16"||encoding="cp1200") ? 2 : 1) )
    ; Copy or convert the string.
    return StrPut(string, &var, encoding)
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

6

Re: AHK: Поиск в интернете по выделенному тексту

Недавно была похожая тема AHK: Двойное нажатие клавиши vkC0 (ё) для запуска поиска в Мультитране.

7

Re: AHK: Поиск в интернете по выделенному тексту

Да, и в ней была упущена из виду - URIEncode(Str).

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.28.02 (Unicode 32-bit).

8

Re: AHK: Поиск в интернете по выделенному тексту

teadrinker, благодарю! То, что нужно, очень удобно.

9

Re: AHK: Поиск в интернете по выделенному тексту

С недавних пор после нажатии хоткея скрипт выдаёт следующееhttp://ipic.su/img/img7/fs/Izobrazhenieizbuferaobmena.1432539754.jpg С чем это может быть связано?

10 (изменено: wisgest, 2015-05-25 12:58:12)

Re: AHK: Поиск в интернете по выделенному тексту

Возможно, испортился раздел реестра
«HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe».
Можно попробовать указать полный путь к chrome.exe или убрать его вообще — в этом случае будет использоваться браўзер, назначенный обработчиком протокола http по умолчанию.

11

Re: AHK: Поиск в интернете по выделенному тексту

wisgest
Так и есть, спасибо.