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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - воспроизвести ссылку на медиафайл в буфере обмена

Ответить
Настройки темы
Любой язык - воспроизвести ссылку на медиафайл в буфере обмена

Новый участник


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

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


Стоит задача как можно быстрее воспроизвести файл по ссылке в буфере обмена. Как реализовать?

Отправлено: 07:04, 12-01-2017

 

Забанен


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

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


Допустим в буфере есть некая ссылка. В случае с PowerShell о "как можно быстрее" можно забыть, по крайней мере, если речь идет о версиях ниже 4. Сам принцип будет примерно таким:
Код: Выделить весь код
if ($PSVerstionTable.PSVersion.Major -ge 4) {
  Start-Process (Get-Clipboard)
}
else {
  if ($host.Runspace.ApartmentState -ne 'sta') {
    powershell -NoProfile -STA -ExecutionPolicy Bypass {
      Add-Type -AssemblyName System.Windows.Forms
      Start-Process ([Windows.Forms.Clipboard]::GetText())
    }
  }
}
Однако плюсом в случае с PowerShell будет возможность проверки в буфере данных на валидность\корректность, а при желании - evil marks, словом, подятнуть болты на безопасноти можно без особых приключений на пятую точку.
Что касается скорости, здесь можно пойти таким путем:
Код: Выделить весь код
@echo off
  setlocal
    set "x=mshta "javascript:var s=clipboardData.getData("
    set "x=%x%'text');if(s)new ActiveXObject('Scripting."
    set "x=%x%FileSystemObject').GetStandardStream("
    set "x=%x%1).Write(s);close();" 1 ^| more"
    for /f "delims=" %%i in ('%x%') do set "x=%%i"
    start "" %x%
  endlocal
exit /b
Но с безопасностью здесь полный ахтунг, так как нельзя проверить содержание буфера.

Отправлено: 10:04, 12-01-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - воспроизвести ссылку на медиафайл в буфере обмена

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как детский голос на микрофоне воспроизвести басом на динамиках? Yewgeniy Хочу все знать 6 19-12-2017 18:22
Разное - [решено] Можно ли посмотреть что находится в буфере обмена? 4o_kavo Microsoft Windows 10 6 11-02-2016 01:58
VBS/WSH/JS - Воспроизвести wav файл на удаленном компьютере cambit Скриптовые языки администрирования Windows 21 03-09-2014 05:16
Разное - [решено] инфа в буфере. r-studio Microsoft Windows 7 7 21-09-2013 19:05
2007 - [решено] (Access 2007) данные в буфере обмена повреждены support23 Microsoft Office (Word, Excel, Outlook и т.д.) 1 21-08-2013 15:36




 
Переход