Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


semiono, напрямую такое сделать никак не получится, но, скорее всего, кто-нибудь уже озаботился подобным, и наверняка есть что-то готовое — стоит поискать.

Если не найдёте, можете попробовать скомпилировать наподобие такого скрипта AutoIt:
читать дальше »
Код: Выделить весь код
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#Include <ClipBoard.au3>
#Include <String.au3>

AutoItSetOption("MustDeclareVars", 1)

Local $hdropDropHandle
Local $lngIDListLenght
Local $arrRetValues
Local $i
Local $strFileNameBuffer

If _ClipBoard_IsFormatAvailable($CF_HDROP) Then
	If _ClipBoard_Open(0) Then
		$hdropDropHandle = _ClipBoard_GetData($CF_HDROP)

		$arrRetValues = DllCall("shell32.dll", "uint", "DragQueryFileW", "uint", $hdropDropHandle, "uint", -1, "wstr", Chr(0), "uint", 0)
		$lngIDListLenght = $arrRetValues[0]

		For $i = 1 To $lngIDListLenght
			$strFileNameBuffer = _StringRepeat(" ", 1024)

			$arrRetValues = DllCall("shell32.dll", "uint", "DragQueryFileW", "uint", $hdropDropHandle, "uint", $i - 1, "wstr", $strFileNameBuffer, "uint", StringLen($strFileNameBuffer))
			ConsoleWrite($arrRetValues[3] & @CRLF)
		Next

		_ClipBoard_Close()
	EndIf
Else
	Exit(1)
EndIf

Exit(0)

Скрипт просто выводит на консоль имена файлов из буфера обмена, которые могут быть разобраны, например, командой «for». Это лишь примерный шаблон, как можно делать, поскольку и пути могут быть куда как длиннее, и вывод в консоль идёт в ANSI, а не OEM, могут быть и ошибки (да и вообще такие утилиты следует писать на C). Ежели что, думаю, в соседней теме Вам помогут довести скрипт до ума, коль и впрямь понадобится.

Отправлено: 06:23, 18-07-2009 | #38