Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№119-12-2008 11:36:28

Диня
Участник
 
Группа: Members
Зарегистрирован: 26-08-2007
Сообщений: 16
UA: Firefox 3.0

Запуск приложения из chrome директории

Всем доброго времени суток!

Перерыл форум, только похожая тема http://forum.mozilla-russia.org/viewtopic.php?id=17663

Может быть кто-то сталкивался с такой проблемой.
Нужно запустить приложение Win32 из каталога chrome://content/

Как то видимо путь нужно преобразовать...

Выделить код

Код:

showOptionWindow: function()
	{
		try
		{
			var file = Components.classes["@mozilla.org/file/local;1"]
	                     .createInstance(Components.interfaces.nsILocalFile);

			var file = Components.classes['@mozilla.org/file/local;1']
        .createInstance(Components.interfaces.nsILocalFile);
		
		var process = Components.classes['@mozilla.org/process/util;1']
        .getService(Components.interfaces.nsIProcess);
		
		file.initWithPath('chrome://smileystbar/content/app/notepad.exe'); //РУГАЕТСЯ НА ЭТОТ ПУТЬ

        	//file.initWithPath("C:\\WINDOWS\\system32\\winver.exe"); //ТАК ЕСТЕСТВЕННО ЗАПУСКАЕТСЯ.
        
...
		}
		catch(sss){SmileysTBar_Log('SmileysToolBar.Core.showOptionWindow: \n'+sss);}
	},

Ошибка собственно, такая.

SmileysToolBar.Core.showOptionWindow:
[Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath]"  nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)"  location: "JS frame :: chrome://smileystbar/content/smileystbar.js :: anonymous :: line 109"  data: no]

Отсутствует

 

№219-12-2008 15:40:27

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.1

Re: Запуск приложения из chrome директории

а что мешает не вкладывать файл в jar-архив (если он вообще имеется) и запускать его по прямому системному пути?

Отсутствует

 

№319-12-2008 20:28:27

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Запуск приложения из chrome директории

Диня

Выделить код

Код:

file.initWithPath('chrome://smileystbar/content/app/notepad.exe'); //РУГАЕТСЯ НА ЭТОТ ПУТЬ

Так он не умеет.
Надо либо строить полный путь, либо использовать класс, который позволяет получать пути к системным папкам.


---  ---

Отсутствует

 

№419-12-2008 21:18:20

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Запуск приложения из chrome директории

Перерыл форум, только похожая тема http://forum.mozilla-russia.org/viewtopic.php?id=17663

Так собственно тут проблема решена полностью.
Что ещё надо?


---  ---

Отсутствует

 

№520-12-2008 16:11:41

Диня
Участник
 
Группа: Members
Зарегистрирован: 26-08-2007
Сообщений: 16
UA: Firefox 3.0

Re: Запуск приложения из chrome директории

Спасибо всем ответившим!

Дело в том, что этот exe будет идти вместе с плагином... Прилада к FF корни которой уходят в ИЕ...

Просто хотелось запускать именно из JAR архива... т.е. по chrome директории.

Еще момент, попробовал проследить по полученному Chrome пути наличие моего EXEшника 

Выделить код

Код:

chromeDir = service.get("UChrm", Components.interfaces.nsIFile).path;

Не обнаружил там файлов, которые должны распаковаться из моего JAR'a. Необходимо как-то дополнительно указывать, что необходимо файлы распаковывать??

Отсутствует

 

№620-12-2008 19:48:35

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Запуск приложения из chrome директории

Диня

Не обнаружил там файлов, которые должны распаковаться из моего JAR'a. Необходимо как-то дополнительно указывать, что необходимо файлы распаковывать??

Проще всего файл в JAR и не упаковывать.
Он и так в xpi упаковывается.

Просто хотелось запускать именно из JAR архива... т.е. по chrome директории.

В принципе можно попробовать придумать путь, который позволил бы запускать из jar-а.
Опять же jar - это же зип, а та же ХР с зипом умеет работать как с папкой - так что вполне может понять такой путь.
В крайнем случае наверное можно написать батничек, который будет это всё запускать?..
Опять же можно распаковывать ехе перед запуском, а потом удалять.


---  ---

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]