Передача программе аргументов из буфера обмена

Тема в разделе "Visual Basic 6 / Сценарии VBScript, JScript", создана пользователем Паразит, 26 сен 2016.

  1. Паразит
    Оффлайн

    Паразит Новый пользователь

    Сообщения:
    33
    Симпатии:
    1
    Привет. Такая задача.
    Передать программе полный путь до файла, путь до которой находится в буфере.

    Что-то типа такого:
    Код (vb.net):
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "C:\PSPad\PSPad.exe" CreateObject("Shell.Application").ShellExecute CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"), "", "", "", 1
    Как такое правильно оформить?
     
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.475
    Симпатии:
    4.305
    Что значит передать программе? (открыть в программе?)

    Сперва нужно в реестре посмотреть, какой командой эта программа по-умолчанию открывает файлы.
    Обычно достаточно просто указать аргумент, но бывают и более сложные случаи.
    Попробуйте:

    Код (vb.net):

    Set WshShell = CreateObject("WScript.Shell")
    clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")

    WshShell.Run "C:\PSPad\PSPad.exe" & " " & """" & clip & """"
     
     
    Паразит нравится это.
  3. Паразит
    Оффлайн

    Паразит Новый пользователь

    Сообщения:
    33
    Симпатии:
    1
    Да, спасибо, это оно. А как такое проделать с реестром? Может быть у реестра еть специальный ключ?
    Код (vb.net):
    Set WshShell = CreateObject("WScript.Shell")
    clip = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")

    WshShell.Run "regedit" & " " & """" & clip & """"
    Он его хочет добавить. А мне надо прыгнуть по тому пути, который находится в буфере.
     
    Последнее редактирование: 26 сен 2016
  4. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.475
    Симпатии:
    4.305
    Вот моя разработка: http://safezone.cc/resources/regjump-mod.67/

    Если кратко, то единственным наиболее быстрым и простым способом является создание параметра:
    Код (Text):

    HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Lastkey
     
    куда следует прописать путь к ветве реестра, куда нужно прыгнуть. И затем просто запустить regedit без аргументов.
     
  5. Паразит
    Оффлайн

    Паразит Новый пользователь

    Сообщения:
    33
    Симпатии:
    1
    ОК. Попробуем
     

Поделиться этой страницей