1

Тема: AHK: Получение и вывод текста в MsgBox Api

Всем привет. Столкнулся с проблемой что не могу написать достаточно простой скрипт, прощу прощения сразу так как не опытен и не так давно начал изучать ahk.
Суть проблемы:
Имеется сайт: https://macvendors.com/
Есть API: https://macvendors.com/api

Нужно получить текст который выдаст по запросу: https://api.macvendors.com/FC-A1-3E-2A-1C-33 в msgbox
Выглядеть это должно следующим образом:
1. Посылается ^c
2. Появляется msgbox с текстом
То что нашел в google на данный момент и что не работает.

+ открыть спойлер
MAC = Clipboard
macLookup(MAC)

	{
	WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	WebRequest.Open("GET", "http://api.macvendors.com/" MAC)
	WebRequest.Send()
	WebRequest.ResponseText
}

MsgBox % macLookup

2 (изменено: teadrinker, 2021-02-01 19:22:55)

Re: AHK: Получение и вывод текста в MsgBox Api

Avillione, вам бы не с веб-запросов начинать AHK изучать. Начните с простого: как поместить текст в переменную, как отобразить переменную в MsgBox. А то тут и такие встречаются, которые сразу спрашивают, как инжект кода в другой процесс сделать, будучи не в курсе, как переменной значение присвоить.

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

3 (изменено: Avillione, 2021-02-01 16:44:48)

Re: AHK: Получение и вывод текста в MsgBox Api

teadrinker, Процесс изучаю, просто появилась такая необходимость. Так же решение этой задачи поможет решить другую.
Да и изучение идет полным ходом. Вот код который написал сам.
Окно для поиска mac адреса на dhcp сервере.

+ открыть спойлер
Gui, +hwndhDHCPORION
Gui, Add, Picture, x0 w0 y205 h-1, C:\work\temp\dhcp\dhcp.gif
Gui, Color, 000000
Gui, Add, Button, x3 y3 w100 gSearchKRK, Красноярск
Gui, Add, Button, x3 y30 w100 gSearchABK, Абакан
Gui, Add, Button, x3 y57 w100 gSearchKNS, Канск
Gui, Add, Button, x3 y84 w100 gSearchIRK, Иркутск
Gui, Add, Button, x3 y111 w100 gSearchBRK, Братск
Gui, Add, Button, x3 y138 w100 gSearchCHGK, Черногорск
Gui, Add, Button, x3 y165 w100 gSearchZHGK, Железногорск
Gui, Add, Button, x3 y192 w100 gSearchMNSK, Минусинск
Gui, Show, w105 h260
   Return



SearchKRK:
Gui, Destroy
Gui, KRAS:Color, 000000
Gui, KRAS:Add, Text, vText cred x0 y0 w0 h30
Gui, KRAS:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, KRAS:Add, Button,Default gButtonKRAS x160 y43 w50, Искать
Gui, KRAS:Show
return

SearchABK:
Gui, Destroy
Gui, ABK:Color, 000000
Gui, ABK:Add, Text, vText cred x0 y0 w0 h30
Gui, ABK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, ABK:Add, Button,Default gButtonABK x160 y43 w50, Искать
Gui, ABK:Show
Return

SearchKNS:
Gui, Destroy
Gui, KNS:Color, 000000
Gui, KNS:Add, Text, vText cred x0 y0 w0 h30
Gui, KNS:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, KNS:Add, Button,Default gButtonKNS x160 y43 w50, Искать
Gui, KNS:Show
Return

SearchIRK:
Gui, Destroy
Gui, IRK:Color, 000000
Gui, IRK:Add, Text, vText cred x0 y0 w0 h30
Gui, IRK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, IRK:Add, Button,Default gButtonIRK x160 y43 w50, Искать
Gui, IRK:Show
Return

SearchBRK:
Gui, Destroy
Gui, BRK:Color, 000000
Gui, BRK:Add, Text, vText cred x0 y0 w0 h30
Gui, BRK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, BRK:Add, Button,Default gButtonBRK x160 y43 w50, Искать
Gui, BRK:Show
Return

SearchZHGK:
Gui, Destroy
Gui, BRK:Color, 000000
Gui, BRK:Add, Text, vText cred x0 y0 w0 h30
Gui, BRK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, BRK:Add, Button,Default gButtonZHGK x160 y43 w50, Искать
Gui, BRK:Show
Return

SearchMNSK:
Gui, Destroy
Gui, BRK:Color, 000000
Gui, BRK:Add, Text, vText cred x0 y0 w0 h30
Gui, BRK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, BRK:Add, Button,Default gButtonMNSK x160 y43 w50, Искать
Gui, BRK:Show
Return

SearchCHGK:
Gui, Destroy
Gui, BRK:Color, 000000
Gui, BRK:Add, Text, vText cred x0 y0 w0 h30
Gui, BRK:Add, Edit, vMyEdit -WantReturn r1 y20 w200 h20, 
Gui, BRK:Add, Button,Default gButtonCHGK x160 y43 w50, Искать
Gui, BRK:Show
Return




ButtonKRAS:
Gui, Submit
GuiControlGet, MyEdit
Run "C:work\cmder\Cmder.exe" /task PuttyKRK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp	
Return

ButtonABK:
GuiControlGet, MyEdit
Run "C:work\cmder\Cmder.exe" /task PuttyABK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return

ButtonKNS:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyKNS
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return

ButtonIRK:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyIRK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return

ButtonBRK:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyBRK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return

ButtonZHGK:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyZHGK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return

ButtonMNSK:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyMNSK
sleep, 1500
SetKeyDelay, -1
Send, search.sh %MyEdit% {enter}
ExitApp
Return


ButtonCHGK:
GuiControlGet, MyEdit
Run, "C:work\cmder\Cmder.exe" /task PuttyCHGK
sleep, 1500
SetKeyDelay, -1
Send, ./search.sh %MyEdit% {enter}
ExitApp
Return


GuiClose:
KRASGuiClose:
ABKGuiClose:
KNSGuiClose:
IRKGuiClose:
BRKGuiClose:
ZHGKGuiClose:
MNSKGuiClose:
CHGKGuiClose:

ExitApp




4

Re: AHK: Получение и вывод текста в MsgBox Api

Прекрасно, теперь переменные изучите. Потом функции.

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

5

Re: AHK: Получение и вывод текста в MsgBox Api

Avillione

Слишком много однотипных меток перехода. Я бы сократил. Возможно даже до одной универсальной. Задача же выполняется одна и та же, так зачем плодить кучу лишних строк?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

6

Re: AHK: Получение и вывод текста в MsgBox Api

__Михаил__ Это первое написанное что работает. Причем работает без отказа.
Что касаясь, темы поможет кто?

Не могу понять как вывести полученное в msgbox :c.
Уже и про переменные прочел, и функции. И додумать все равно не могу.

F1::
Clipboard =  ; clear
sleep, 10
Send, ^c
KeyWait, c
sleep, 10
macLookup(MAC)
{
	WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	WebRequest.Open("GET", "http://api.macvendors.com/%clipboard%" MAC)
	WebRequest.Send()
	return WebRequest.ResponseText
}

MsgBox % macLookup

7 (изменено: ypppu, 2021-02-01 21:03:59)

Re: AHK: Получение и вывод текста в MsgBox Api

Неактуально.

8

Re: AHK: Получение и вывод текста в MsgBox Api

Решил проблему. Возможно кому пригодиться.

F1::
Clipboard =  ; clear
sleep, 10
Send, ^c
KeyWait, c
sleep, 10
macLookup(MAC){
	WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	WebRequest.Open("GET", "http://api.macvendors.com/" MAC)
	WebRequest.Send()
	return WebRequest.ResponseText
}


MsgBox % macLookup(Clipboard)