The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features
See the new ForumsYou need to be logged in to post in the forums. If you do not have an account, please sign up first.
Как запустить программу из Opera?
Здравствуйте. Подскажите новичку, как запустить стороннюю программу по нажатии кнопки своего расширения из Opera. Как вариант, можно запускать из скрипта:wsh=WScript.CreateObject('WScript.Shell');
wsh.Run('"notepad"');
но проблема в том, что этот скрипт не работает из html.
Может кто сталкивался с такой задачей? Помогите пожалуйста.
Насколько мне известно, запуск внешних программ из расширений Оперы и из javascript невозможен из соображений безопасности.
Вы можете запускать внешние программы из меню Опера, если отредактируете стандартное меню (standard_menu.ini) или если создадите свои кнопки Опера (standard_toolbar.ini).
Делается путем включения в ini файл специальной команды, в простейшем случае такой
Вы можете запускать внешние программы из меню Опера, если отредактируете стандартное меню (standard_menu.ini) или если создадите свои кнопки Опера (standard_toolbar.ini).
Делается путем включения в ini файл специальной команды, в простейшем случае такой
Item, "Title"="Execute Program, "путь к программе\имя программы.exe""
Спасибо, теперь буду знать, в какую сторону копать. Подскажите еще, как мне узнать папку Оперы (что-то вроде C:\Documents and Settings\User\Application Data\Opera\Opera 10 Preview)? Ведь она может отличаться в зависимости от версий и пользователей. Мне нужно указать ее при установке моего приложения для добавления кнопки.
Путь к папке профиля установленной (не портабельной, т.е. не USB) версии Opera:
"%APPDATA%\Opera\<папка установки Оперы. из реестра: ключ HKEY_CURRENT_USER\Software\Opera Software, параметр Last Install Path>"
Путь к папке профиля портабельной версии Opera просто: ".\profile"
"%APPDATA%\Opera\<папка установки Оперы. из реестра: ключ HKEY_CURRENT_USER\Software\Opera Software, параметр Last Install Path>"
Путь к папке профиля портабельной версии Opera просто: ".\profile"
5. November 2011, 22:48:07 (edited)
"%APPDATA%\Opera\" не включает в себя последнюю часть пути:
"C:\Documents and Settings\User\Application Data\Opera\Opera 10 Preview"
Чтобы получить полный путь профиля Opera, рекомендую все таки прочитать параметр из реестра. Вместо Last Install Path лучше использовать более универсальный параметр реестра Last CommandLine v2. Чтобы получить полный путь к профилю, используйте что-то типа этого VBS:
Значок для кнопки советую выбрать стандартный, уже имеющийся во всех скинах, например History:
"C:\Documents and Settings\User\Application Data\Opera\Opera 10 Preview"
Чтобы получить полный путь профиля Opera, рекомендую все таки прочитать параметр из реестра. Вместо Last Install Path лучше использовать более универсальный параметр реестра Last CommandLine v2. Чтобы получить полный путь к профилю, используйте что-то типа этого VBS:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
Opera=WshShell.RegRead("HKCU\Software\Opera Software\Last CommandLine v2")
OperaDir=Left(Opera, Instr(1,Opera,"opera.exe")-1)
If Not(FSO.FolderExists(OperaDir+"profile")) Then
OperaDirName=Split(OperaDir, "\")
OperaDir =OperaDirName(Ubound(OperaDirName)-1)
OperaDir=WshShell.ExpandEnvironmentStrings("%appdata%")+"\Opera\"+OperaDir
Else
OperaDir=OperaDir+"profile"
End If
Значок для кнопки советую выбрать стандартный, уже имеющийся во всех скинах, например History:
Button5, "Notepad"="Execute program, "Notepad.exe", , ,History"
6. November 2011, 11:57:54 (edited)
Этот скрипт охватывает все случаи установленной Оперы, какие только могут быть? (Кстати, спасибо за скрипт:) И если уж на то пошло, путь экзешника браузера лучше брать из HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet. ТАм по идее регистрируются все браузеры:) ) И когда папка Оперы может находиться в C:\Program files\Opera\profile ? И вообще, вот здесь же opera:config#UserPrefs|OperaDirectory есть искомый путь, где-то же его Опера хранит???!!!
Кстати насчет иконок. Если я, например, добавляю кнопку отсюда http://moemesto.ru/help/button.html?browser=opera, то ее значок даже при смене скина остается прежним. В чем секрет? Может такой фокус пройдет и для моей кнопки?
Кстати насчет иконок. Если я, например, добавляю кнопку отсюда http://moemesto.ru/help/button.html?browser=opera, то ее значок даже при смене скина остается прежним. В чем секрет? Может такой фокус пройдет и для моей кнопки?
Originally posted by ds007007:
В случае однопользовательской установки более старой версии программы. Также папка профиля Оперы может находиться в директории самой программы в случае установки портабельной версии (так называемой USB).И когда папка Оперы может находиться в C:\Program files\Opera\profile
Путь лучше брать откуда я сказал. Там прописывается любой вариант установленной Оперы, правда не сразу после установки, а после первого запуска.
Часть путей, в том числе путь к файлам меню и тулбара опера хранит в файле operaprefs.ini. Но сам файл находится в директории профиля. Чтобы его найти нужно использовать скрипт.
Originally posted by ds007007:
Это не настоящая кнопка, а закладка. Её иконка хранится в папке icons, где и другие иконки закладок.Если я, например, добавляю кнопку отсюда http://moemesto.ru/help/button.html?browser=opera, то ее значок даже при смене скина остается прежним. В чем секрет?
А точнее - это букмарклет.
Моя сторінка на MyOpera • Я • F Ukraine - тримаємо порох сухим!
↑ На букву Я целить мышкин указатель! ↑
Использую Opera 10.10 build 1893 - новыми лишь поиграться можно
RIP
Opera
30.08.1995 - 13.02.2013
-> Link <-
☺ Я ВКонтакт лишь по нужде хожу! ☺
У меня всё работает! Догадайтесь - через что!
► Дом - 30 Мбит\с, работа - EDGE - до ~100 Кбит\с ◄
Что делать, если опера зависает и сбоит
∎
↑ На букву Я целить мышкин указатель! ↑
Использую Opera 10.10 build 1893 - новыми лишь поиграться можно
RIP
Opera
30.08.1995 - 13.02.2013
-> Link <-
☺ Я ВКонтакт лишь по нужде хожу! ☺
У меня всё работает! Догадайтесь - через что!
► Дом - 30 Мбит\с, работа - EDGE - до ~100 Кбит\с ◄
Что делать, если опера зависает и сбоит
∎
Originally posted by ds007007:
как программно можно узнать версию установленной Оперы?
Добавь в мой скрипт строчку
MsgBox FSO.GetFileVersion(Opera)
Forums » Помощь: вопросы и проблемы » Расширения и виджеты Opera