Что нового

[Сеть, интернет] Создание txt файла с URL из адресной строки (exe, tray)

Kreol2013

Новичок
Сообщения
9
Репутация
0
Господа, ПРИВЕСТВУЮ!
Очень буду признателен за помощь.
Нужен скрипт в виде exe и au3
1)Сворачивается в трей и там живет, есть возможность отключать работоспособность не удаляя из трея.
2)умеет
Для одной кнопки (средняя кнопка мыши, либо там F2):
- выделять URL из адресной строки браузера (любого: Chrome, IE, Opera, Fox, Safary), выделять выделением не обязательно
- копировать URL
- вставлять в файл тхт где находится скрипт, локально или в облаке. (для каждой ссылки новая строка)
- закрыть вкладку, из которой высосали URL.

Буду просто безмерно благодарен за исполнимый exe :stars:
с ув. Антон
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Kreol2013
Как-то так:
Код:
#include <DDEML.au3>
#include <DDEMLClient.au3>
#include <WinAPI.au3>
#include <MouseOnEvent.au3>

HotKeySet('{F2}', '_DD') ; на зажатие F2
_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, '_DD') ; на зажатие средней кнопки

HotKeySet('{Esc}', '_WW') ; переключение

Global $x = 1
Dim $browsers[3][2]
$browsers[0][0] = 'IExplore'
$browsers[0][1] = '[CLASS:IEFrame]'
$browsers[1][0] = 'Firefox'
$browsers[1][1] = '[CLASS:MozillaWindowClass]'
$browsers[2][0] = 'Opera'
$browsers[2][1] = '[CLASS:OperaWindowClass]'

While 1
	Sleep(30)
WEnd

Func _WW()
	If $x = 1 Then
		$x = 0
		HotKeySet('{F2}')
		_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT)
		ToolTip('Выключено')
		TrayTip('Выключено', 'Выключено', 5, 1)
	Else
		$x = 1
		HotKeySet('{F2}', '_DD') ; на зажатие F2
		_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, '_DD') ; на зажатие средней кнопки
		ToolTip('Включено')
		TrayTip('Включено', 'Включено', 5, 1)
	EndIf

EndFunc   ;==>_WW

Func _DD()

	$hWnd = WinGetHandle('[ACTIVE]', '')
	
	For $i = 0 To UBound($browsers) - 1
		If StringInStr($browsers[$i][1], _WinAPI_GetClassName($hWnd)) Then
			$szRes = _DDEMLClient_RequestString($browsers[$i][0], 'WWW_GetWindowInfo', '0xFFFFFFFF', $CF_TEXT)
			;ConsoleWrite('_DDEMLClient_RequestString(), error=' & @error & ', extended=' & @extended & @CRLF)
			$url = StringSplit($szRes, '","', 1)
			$url = StringTrimLeft($url[1], 1)
			If $url <> '' Then
				
				;MsgBox(0, $browsers[$i][0], $url)
				
				$file = FileOpen('test.txt', 1)
				FileWriteLine($file, $url & @CRLF)
				FileClose($file)
			EndIf
		EndIf
	Next

EndFunc   ;==>_DD
Отсюда
http://www.autoitscript.com/forum/index.php?app=downloads&module=display&section=download&do=confirm_download&id=174
DDEML.au3 и DDEMLClient.au3 из au3_ddeml_1.5.4.zip

MouseOnEvent.au3 отсюда
http://autoit-script.ru/index.php/topic,198.0.html
Единственно, не закрывает вкладку, наверно, можно через Send, но у меня не работает.
 
Автор
K

Kreol2013

Новичок
Сообщения
9
Репутация
0
WSWR Респектище...
Вообще слов нету. 1 вопрос, а гугл сюда прикрутить вообще возможно?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Kreol2013
Это в смысле Хром?
У меня его нет, поэтому не знаю его процесса и класса окна
Надо заменить в скрипте на
Код:
Dim $browsers[4][2]
$browsers[0][0] = 'IExplore'
$browsers[0][1] = '[CLASS:IEFrame]'
$browsers[1][0] = 'Firefox'
$browsers[1][1] = '[CLASS:MozillaWindowClass]'
$browsers[2][0] = 'Opera'
$browsers[2][1] = '[CLASS:OperaWindowClass]'
$browsers[3][0] = '' ; процесс хрома
$browsers[3][1] = '[CLASS: ]' ; вписать класс окна хрома, надо смотреть Au3Info.exe

Должно работать, наверно
И для других браузеров аналогично
 
Автор
K

Kreol2013

Новичок
Сообщения
9
Репутация
0
да к сожалению с googl chrome не все так просто(
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Kreol2013
Да, действительно, Хром не работает с DDE...

Можно так попробовать:
Код:
#include <DDEML.au3>
#include <DDEMLClient.au3>
#include <WinAPI.au3>
#include <MouseOnEvent.au3>

HotKeySet('{F2}', '_DD') ; на зажатие F2
_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, '_DD') ; на зажатие средней кнопки

HotKeySet('{Esc}', '_WW') ; переключение

Global $x = 1
Dim $browsers[4][2]
$browsers[0][0] = 'IExplore'
$browsers[0][1] = '[CLASS:IEFrame]'
$browsers[1][0] = 'Firefox'
$browsers[1][1] = '[CLASS:MozillaWindowClass]'
$browsers[2][0] = 'Opera'
$browsers[2][1] = '[CLASS:OperaWindowClass]'
$browsers[3][0] = 'Chrome'
$browsers[3][1] = '[CLASS:Chrome_WidgetWin_1]'

While 1
	Sleep(30)
WEnd

Func _WW()
	If $x = 1 Then
		$x = 0
		HotKeySet('{F2}')
		_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT)
		ToolTip('Выключено')
		TrayTip('Выключено', 'Выключено', 5, 1)
	Else
		$x = 1
		HotKeySet('{F2}', '_DD') ; на зажатие F2
		_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, '_DD') ; на зажатие средней кнопки
		ToolTip('Включено')
		TrayTip('Включено', 'Включено', 5, 1)
	EndIf

EndFunc   ;==>_WW

Func _DD()
	Local $url, $i

	$hWnd = WinGetHandle('[ACTIVE]', '')

	For $i = 0 To UBound($browsers) - 1
		If StringInStr($browsers[$i][1], _WinAPI_GetClassName($hWnd)) Then
			If $browsers[$i][0] <> 'Chrome' Then
				$szRes = _DDEMLClient_RequestString($browsers[$i][0], 'WWW_GetWindowInfo', '0xFFFFFFFF', $CF_TEXT)
				;ConsoleWrite('_DDEMLClient_RequestString(), error=' & @error & ', extended=' & @extended & @CRLF)
				$url = StringSplit($szRes, '","', 1)
				$url = StringTrimLeft($url[1], 1)
			Else
				$url = StringSplit(WinGetText($hWnd, ''), @LF)
			If UBound($url)>2 Then $url = $url[2]
			EndIf
			
			If $url <> '' Then

				;MsgBox(0, $browsers[$i][0], $url)

				$file = FileOpen('test.txt', 1)
				FileWriteLine($file, $url & @CRLF)
				FileClose($file)
			EndIf
		EndIf
		
		
	Next

EndFunc   ;==>_DD
 
Верх