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

На IRC-канале #mozilla-ru можно получить техническую консультацию онлайн и, конечно же, порцию общения.

№1360109-08-2019 18:43:57

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 593
UA: Firefox 68.0

Re: Custom Buttons

Andrey_Krropotkin, спасибо!

Отсутствует

 

№1360209-08-2019 19:47:57

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1105
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

Типа, if -  первый код ОК! , тогда и этот второй проходит

Что-то мне эта идея не нравится. А если во вкладках
какое-нибудь добро с beforeunload и передумаешь.
Или если руками всё закрыто, то не надо что ли.

Вместо простого и безопасного скрытия неугодных элементов,
ты меня склоняешь «Сессию стереть» при выходе.
Нет, ну могу попробовать сочинить какую-нибудь стиралку, но не советую.


Выделить код

Код:

((topic, id) => {
    var obs, getObserver = () => {
        for(var o of Services.obs.enumerateObservers(topic)) {
            var res = o.wrappedJSObject;
            if (res && id in res) return res;
        }
    }
    addDestructor(reason => {
        if (reason[5] != "e") return;
        var obs = getObserver();
        obs && obs.destroy();
    });
    (obs = getObserver()) || Services.obs.addObserver(obs = {
        [id]: true, __proto__: null, destroyed: false,
        destroy() {
            Services.obs.removeObserver(this, topic);
            this.destroyed = true;
        },
        get wins() {
            return Array.from(Services.wm.getEnumerator("navigator:browser"))
                .filter(win => win.toolbar.visible);
        },
        observe(cancelQuit, t, data) {
            data != "restart" && !cancelQuit.data && this.onQuit(true);
        },
        handleEvent() {
            this.destroyed || this.onQuit();
        },
        onQuit(fromObs) {
            var {wins} = this, multi = wins.length > 1;

            if (multi) return fromObs && this.destroy();
            this.destroy();

            var {tabs} = wins[0].gBrowser;
            if (tabs.length > 1 ) return;

            var es = JSON.parse(SessionStore.getTabState(tabs[0])).entries;
            es.length == 1 && wins[0].isBlankPageURL(es[0].url) && this.erase();
        },
        erase() {
            Services.obs.notifyObservers(null, "browser:purge-session-history");
            Cu.import("resource:///modules/sessionstore/SessionFile.jsm", {})
                .SessionFileInternal.write = () => {};
        }
    }, topic, false);
    addEventListener("DOMWindowClose", obs);
})("quit-application-requested", `${_id}:quitApplicationRequestedObserver1`);

Отсутствует

 

№1360309-08-2019 20:57:08

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

Dumby
Не слабо.... Пока все как и хотелось. Не постоje речи, т.е нема слов...  Уживо хвала!

Отсутствует

 

№1360410-08-2019 21:46:07

questman
Участник
 
Группа: Members
Зарегистрирован: 05-11-2011
Сообщений: 228
UA: Firefox 40.0

Re: Custom Buttons

Приветствую!
Образовался вопрос.Есть ли возможность при помощи CustomButtons кода запретить(как это сказать!?:usch:) открепление вкладок
от основного окна.

Попробую пояснить.
Когда у тебя открыто множество вкладок и ты прыгаешь по ним щёлкая мышкой с удивлением замечаешь,что образовались новые окна.
Это происходит потому что во время щелчка мыши иногда бывают микро движения с зажатой левой кпокой.
А новому FireFox достаточно несколько пикселей чтобы сработало событие открепления.В FireFox53 например такого не было.

Заранее спасибо!

Отсутствует

 

№1360510-08-2019 23:24:20

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1105
UA: Firefox 52.0

Re: Custom Buttons

questman
Может что-нибудь простенькое подойдёт


Выделить код

Код:

((obj, key) => {
    var meth = obj[key], func = meth.bind(obj);
    obj[key] = (...args) => new Error().stack.includes("dragend") ? null : func(...args);
    addDestructor(() => obj[key] = meth);
})(gBrowser, "replaceTabsWithWindow");

Отсутствует

 

№1360611-08-2019 00:29:14

questman
Участник
 
Группа: Members
Зарегистрирован: 05-11-2011
Сообщений: 228
UA: Firefox 40.0

Re: Custom Buttons

Dumby пишет

questman
Может что-нибудь простенькое подойдёт


Это просто шикарно!Всё работает прекрасно.

Спасибо!

Кстати благодаря этому обнаружил для себя новую функцию связанную со вкладками.
Если вкладка одна, то можно дёргая её мышкой позиционировать окно браузера по левую
или по правую сторону.Вот так прикол, только что узнал!:mad:

Выделить код

Код:

((obj, key) => {
    var meth = obj[key], func = meth.bind(obj);
    obj[key] = (...args) => new Error().stack.includes("dragend") ? null : func(...args);
    addDestructor(() => obj[key] = meth);
})(gBrowser, "replaceTabsWithWindow");

Отредактировано questman (11-08-2019 00:38:25)

Отсутствует

 

№1360712-08-2019 10:29:48

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

Dumby
Вопрос...
Можно ли сделать полный портабл, если в кнопках используются  коды , ведущие к EXE, типа nircmd.exe и memreduct.exe  . Они в своих папках , если папки в профиль
переместить, они все-равно будут к диску привязаны? ...Батники и VBS , к примеру, так они в профиле и с ними нет проблем , а с этими прогами - есть...
Короче, батники в этих папках (nircmd и memreduct) сразу глючат без полного пути...Приходится ставить фокс только на определенное место, меня это и не парит, но есть деятели ...типа,  "не портабл полный" и это ни есть гуд и т.д. Да, батники только в папе NIR , из memreduct удалось убрать, там только exe, все-равно лажа...

Отредактировано solombala (12-08-2019 10:35:26)

Отсутствует

 

№1360812-08-2019 12:41:34

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1105
UA: Firefox 52.0

Re: Custom Buttons

solombala
Вот вроде подробнее чем обычно расписано, но всё равно не улавливаю.
Какая-то несвязанная последовательность в вопросе.

Скажем так: распаковал Iceweasel_68_x32.rar в субпапку на диске Цэ,
жму кнопку — нормально всё алертится.


Выделить код

Код:

var nir = Services.dirsvc.get("GreD", Ci.nsIFile);
nir.append("nir");

alert(
    [...nir.directoryEntries].map(file => file.path).join("\n")
);

Отсутствует

 

№1360912-08-2019 13:20:07

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

Dumby
Если это не использовать , то и проблем нет. Этот код в кн. "Очистка памяти" и как ?  Как без привязки к диску?
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
         file.initWithPath("D:\\iceweasel\\app\\nir\\d.vbs");
         file.launch();
         file.initWithPath("D:\\iceweasel\\app\\nir\\m.vbs");
         file.launch();

Там папка NIR участвует и не только...Какая , к черту, портатабельность? Никакая...Плюс, в самих vbs дергается  memreduct.exe , она тоже в папке и к профилю не привязана... Короче, сижу на ж@пе ровно и не дергаюсь..

Отредактировано solombala (12-08-2019 13:25:52)

Отсутствует

 

№1361012-08-2019 20:17:51

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 331
UA: Firefox 60.0

Re: Custom Buttons

У тебя берется путь к профилю и....
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
.... никак не используется.
file.initWithPath("D:\\iceweasel\\app\\nir\\d.vbs");



Там папка NIR участвует и не только...Какая , к черту, портатабельность? Никакая...Плюс, в самих vbs дергается  memreduct.exe , она тоже в папке и к профилю не привязана... Короче, сижу на ж@пе ровно и не дергаюсь..

Зачем дважды подряд вызывать разные скрипты, если логично записать вызов второго  скрипта в конец первого.
Все переменные можно в самом скрипте находить и присвоить. яхз как оно там в VBS, но в cmd\bat определить где лежить выполняемый скрипт
можно через  %~dp0 .
Ну а, у VBS возможностей куда больше чем в cmd/bat и есть не один способ узнать, откуда запущен скрипт.

Выделить код

Код:

let prof = Services.dirsvc.get('ProfD', Ci.nsIFile);  // нашел путь к профилю
    prof.initWithPath("prof.path + "\\nir\\d.vbs");  // в профиле лежит папка nir где лежить нужный файлег
    prof.launch();

Отредактировано mokujin (12-08-2019 20:22:54)

Отсутствует

 

№1361112-08-2019 20:37:40

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

mokujin
Хороший ход, а как с этим быть?
d.bat :
nircmd exec hide "D:\iceweasel\app\memreduct\memreduct.exe"
nircmd.exe  wait 600
nircmd.exe sendkeypress  Insert

И этим d.vbs
Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("D:\iceweasel\app\nir\d.bat", 0, False)

Опять привязка к диску ....?

Отсутствует

 

№1361212-08-2019 21:50:37

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 331
UA: Firefox 60.0

Re: Custom Buttons

у тебя какая-то очень-очень дураццкая скриптовая мешанина; запускается vbs, который запускает bat в котором выполняется nircmd.exe - где опять вызывается vbs в котором вызывается bat  :cry:  что это?? зачем!?

Напиши нормальный батнег с нужными командами для memreduct.exe, nircmd.exe... запихни его в кнопку в Help и запускай его из Code
пример наглядный как это может быть, посмотри здесь [CB]Архив профиля (backup)
В твоем случае как-то так, часть батнега:


Выделить код

Код:

// Записать батнег из вкладки Справка в файл и запустить
   var prof = Services.dirsvc.get('ProfD', Ci.nsIFile);
       prof.append("memreduct.cmd");
           custombuttonsUtils.writeFile( prof.path, convertFromUnicode("866", self.Help) );
       prof.launch();

Отсутствует

 

№1361312-08-2019 22:00:33

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

mokujin
Спасибо, но это не для меня...Ни фига не въезжаю. С эти все понятно
let prof = Services.dirsvc.get('ProfD', Ci.nsIFile);  // нашел путь к профилю
    prof.initWithPath("prof.path + "\\nir\\d.vbs");  // в профиле лежит папка nir где лежить нужный файлег
    prof.launch();

Дальше, мозг взрывается...Работает на диске и черт с ним...

Отсутствует

 

№1361412-08-2019 22:55:21

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 331
UA: Firefox 60.0

Re: Custom Buttons

solombala
глянул что это за прога... в общем вот рабочий батнег (upd. чуть поправил батнег на случай уже запущенной проги.)

Вот картинко, где и как лежат файлы
226dbf1299189954.jpg
Запускай батнег этой кнопкой:


Выделить код

Код:

@echo off
chcp 866
cd /d %~dp0
tasklist | find /i "memreduct.exe" 1>nul
goto :%errorlevel%
exit

:0
nircmdc.exe sendkeypress Ctrl+F1
exit


:1
if defined "ProgramFiles(x86)" (
  set memRPath=%~dp0memreduct\64\memreduct.exe
      ) Else (
  set memRPath=%~dp0memreduct\32\memreduct.exe
 )

nircmdc.exe exec hide "%memRPath%"
nircmdc.exe wait 1000
nircmdc.exe sendkeypress Ctrl+F1
exit


Отредактировано mokujin (12-08-2019 23:14:39)

Отсутствует

 

№1361512-08-2019 22:59:41

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1105
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

Этот код в кн. "Очистка памяти" и как ?  Как без привязки к диску?

Ладно, порылся в сборке немного. Расскажу как наблюдалось.
Во-первых, пришлось убрать lockPref("browser.launcherProcess.enabled", false);
и выставить false в about:config вручную, иначе — deelevate и trayupdate.exe не работает.
Но nircmd.exe killprocess всё равно не работает, воспользовался taskkill.exe

Во-вторых, пришлось заменить memreduct.exe, этот был недоволен

Mem Reduct пишет

Warning!

You are attempting to run 32-bit version of Mem Reduct on 64-bit Windows.
Please run the 64-bit version of Mem Reduct instead.

А так, вроде, кое-как работает


Выделить код

Код:

this.onclick = async e => {
    if (e.button) return e.button == 1 || e.ctrlKey || event.shiftKey || Services.prefs.setBoolPref(
        "browser.zoom.full", !Services.prefs.getBoolPref("browser.zoom.full")
    );
    var wait = ms => new Promise(resolve => setTimeout(resolve, ms));

    var launch = (file, hidden, ...args) => {
        var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
        process.init(file);
        if (hidden) process.startHidden = true;
        process.runw(false, args, args.length);
    }
    var sys = Services.dirsvc.get("SysD", Ci.nsIFile);
    var fox = Services.dirsvc.get("GreD", Ci.nsIFile);

    var getFile = (...args) => {
        var file = args.shift().clone();
        args.forEach(file.append);
        return file;
    }
    var mem  = getFile(fox, "memreduct", "memreduct.exe");
    var nir  = getFile(fox, "nir", "nircmd.exe");
    var tray = getFile(fox, "nir", "trayupdate.exe");
    var tskk = getFile(sys, "taskkill.exe");

    mem.launch();
    await wait(1000);

    launch(nir, false, "sendkeypress", "insert");
    await wait(2000);

    launch(tskk, true, "/F", "/IM", "memreduct.exe");
    await wait(2000);

    tray.launch();
}

Отсутствует

 

№1361612-08-2019 23:20:55

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

Нет. я не понимаю все-равно. Это понятно , папки Nir и memreduct кидаю в профиль и пробую это
let prof = Services.dirsvc.get('ProfD', Ci.nsIFile);  // нашел путь к профилю
    prof.initWithPath("prof.path + "\\nir\\d.vbs");  // в профиле лежит папка nir где лежить нужный файлег
    prof.launch();

Дальше надо уработать два батника , да или нет , все...
nircmd exec hide "D:\iceweasel\app\memreduct\memreduct.exe"
nircmd.exe  wait 600
nircmd.exe sendkeypress  Insert

И
nircmd.exe  wait 2000
nircmd.exe  killprocess  memreduct.exe
start "" "D:\iceweasel\app\nir\trayupdate.exe"

Ну, не сборку же выкладывать, оно вам надо? Там этих батников немерено ....
Впрочем,  FF66x64 https://www.upload.ee/files/10347653/core.rar.html

Отредактировано solombala (13-08-2019 00:06:11)

Отсутствует

 

№1361713-08-2019 00:45:48

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 331
UA: Firefox 60.0

Re: Custom Buttons

solombala
если это ты делаешь, то должен сказать что сама концепция у тебя неверная. Всё разбросано хз где.
Вот у мя, тоже есть своя сборка PaleMoon. Все работает с флешки на любой ОС. Можно скопировать куда угодно, тоже будет работать.
А дело в том, что всё что может понадобиться, лежит в %профиле%\SOFT_PM\ Я давал тебе фотку со списком из этой папки.

Все косольные качалки - лежат в одной папке wget. там скрипты для них; curl, wget, youtube-dl, mpv.exe, sort.exe и другие... Поэтому, не проблем с путями:
запустив скрипт из CB(получением пути к профилю, как выше показал) дальше орудуют скрипты, тоже берущие путь относительно себя( %~dp0 )
Сделай в профиле папку основную. В неё уже кидай все другие программы\папки. И тебе будет всегда известно где ты и куда надо переходить.

Любая программа, любой скрипт у мя запускается с одного и того же:
нашел путь к профилю , а в профиле лежит папка SOFT_PM где все остальное лежит. И добавляя нужную часть пути, запускаешь что нужно.
А у тебя, разброс\шатание и даже за пределами рабочей папки бравзера, лежит yotube-dl   :rolleyes:

Вот пример запуска из конт.меню ссылки(кнопка-меню) PotPlayer
// и тут же , такой же запуск скрипта wget
всегда знаешь где ты находишься, ибо есть точка отсчёта %профиль%\SOFT_PM\. Сделай и у себя так, будет и проще и понятней.

Выделить код

Код:

let prof = Services.dirsvc.get('ProfD', Ci.nsIFile); 

Отсутствует

 

№1361813-08-2019 02:52:49

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 210
UA: Firefox 68.0

Re: Custom Buttons

Здравствуйте, как можно сделать под портабл путь? запутался в filе... спасибо заранее.

скрытый текст
Открыть в другом браузере

mokujin интересный синтаксис) нестандартный, зато более понятный.
- - - - - - - - - - - - - -
Спасибо за пример сверху, но посидел норм так...метод проб)
let - это для линукса, как я понял.
скрытый текст
upd

Выделить код

Код:

var path="C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe";
var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
var process=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
var uri=gBrowser.currentURI.spec;
var uri=/.рф/.test(uri) ? Services.io.newURI(uri,null,null).asciiSpec:uri;  
file.initWithPath(path);
!file.exists()&&custombuttons.alertSlide(self.label,"The file doesn't exist");
process.init(file);
process.run(false,[uri],1);

Отредактировано func4ptch4 (13-08-2019 05:32:24)

Отсутствует

 

№1361913-08-2019 05:21:15

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 210
UA: Firefox 68.0

Re: Custom Buttons

Можете проверить, правильно все? код сам работает через HotKey.
Меня смущает две строки снизу, один с кода сверху, другой со старого кода.

И вопрос за что отвечает var process? если его убрать с кода тоже работает.
Зачем такой большой код, если и с 2строк все пашет? понимаю что зависит от предназначения кода, но в общем.

Выделить код

Код:

var prof=Services.dirsvc.get('ProfD',Ci.nsIFile);
var process=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
prof.initWithPath(prof.path+"\\%Soft\\_QTranslate 6.7.2.exe");prof.launch();
//process.init(prof);process.run(false,[uri],1);};
////var link=gClipboard.read();var args=[link];file.launch();

Отредактировано func4ptch4 (13-08-2019 05:27:35)

Отсутствует

 

№1362013-08-2019 10:25:36

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 68.0

Re: Custom Buttons

Так, а как это скрытно запустить? Vbs = требует полный путь или этот батник сразу переделать в Vbs ?
nircmd exec hide "..\%profile%\memreduct\memreduct.exe"
nircmd.exe  wait 700
nircmd.exe sendkeypress  Insert

Или из СВ скрыть баты ?
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
         file.initWithPath("D:\\iceweasel\\app\\nir\\d.bat");
         file.launch();
         file.initWithPath("D:\\iceweasel\\app\\nir\\m.bat");
         file.launch();

а это не подходит ,падает кн. память
let prof = Services.dirsvc.get('ProfD', Ci.nsIFile);  // нашел путь к профилю
    prof.initWithPath("prof.path + "\\nir\\d.vbs");  // в профиле лежит папка nir где лежить нужный файлег
    prof.launch();

Кто-нибудь скажет как скрыть батник без vbs ? или с кодом того же CB или с Nircmd.exe . Наконец с VBS ? так он полный путь требует...

Отредактировано solombala (13-08-2019 13:33:53)

Отсутствует

 

№1362113-08-2019 14:05:08

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 601
UA: Firefox 68.0

Re: Custom Buttons

solombala
Так вроде при запуске nircmd exec hide "батник" ничего не видно.

Отсутствует

 

№1362213-08-2019 14:44:22

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 66.0

Re: Custom Buttons

xrun1
Все равно не то....мелькает. и с этим тоже nircmd.exe win hide title "%ComSpec%"
Да хотя бы свернуть окно консоли , мелькает зараза....Все, сборка полностью портабл...
Все . Вопросов нет. Хочешь сделать хорошо - сделай сам!

Отредактировано solombala (13-08-2019 19:20:32)

Отсутствует

 

№1362313-08-2019 18:58:59

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 210
UA: Firefox 66.0

Re: Custom Buttons

Не понял, так как запустить к примеру это без появления окна? без .vbs
да и кажется код кривоват, хотя я походу в игноре лад..

Выделить код

Код:

var closer={observe:function(subject,topic,data){if(data=="shutdown"){
var prof=Services.dirsvc.get('ProfD',Ci.nsIFile);prof.append("SQL.bat");prof.launch();}}};
Services.obs.addObserver(closer,"quit-application",false);

Отредактировано func4ptch4 (13-08-2019 19:00:21)

Отсутствует

 

№1362413-08-2019 19:15:19

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 422
UA: Firefox 66.0

Re: Custom Buttons

func4ptch4
var closer = {
    observe: function(subject, topic, data) {
       if ( data == "shutdown" ){
            var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
         
file.initWithPath(file.path + "\\sqlite.bat");
file.launch();

}
}
};
Services.obs.addObserver(closer, "quit-application", false);
Так понял,  это  при выходе  профиль  обжать?  Заделаешь VBS  и портабла не будет
А все-таки собрал портабл пока на 66 и без vbs - и консолей не видно...!

Отредактировано solombala (13-08-2019 19:19:17)

Отсутствует

 

№1362513-08-2019 22:50:23

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 331
UA: Firefox 60.0

Re: Custom Buttons

solombala вот тебе готовый комплект ;-)  Запускать надо memreduct-start.vbs
MemReduct pack

Теперь понял, зачем там vbs. оказуеццо, это такой простой способ скрыть консоль без сторонних утилит, скрыть окно.
вот это:
заводит пакетный файл без окна. Именно вторая строчка это самое и делает. Т.е. не просто WshShell.Run(что то там...) а с этим вот RetCode и параметрами... возврата, чтоле, хз.
В любом случае, открытие(для меня) поелзное, не знал.

func4ptch4 пишет

let - это для линукса, как я понял.

нет. let это та же var , только с защитой(или наоборот -  с проблемами), работает только внутри { .....  }  здесь, в таком мелком коде, это не важно что исп-ть.

зы. solombala почитай про относительные и абсолютные путя\и , вопросы отпадут 1 (http)  и 2(Windows)

Добавлено 13-08-2019 23:00:49

func4ptch4 пишет

var file=Services.dirsvc.get("ProfD",Ci.nsIFile);
file.append("SQL.vbs");
в этом коде можно также с путями играться? или тупо профиль?

Это другой способ составлять путь. Просто более ранний и объемный. За раз , можно добавить только один уровень  append == "добавить".  ЕЯПП то используется обычно для проверки есть ли файл №3  или для создания файла по известному пути с нужным именем №9
Для запуска программ, можно... но проще\удобней делать через prof.path +"\\часть пути к программе\\123.exe

Выделить код

Код:

Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("memreduct-action.cmd", 0, False)

Отредактировано mokujin (13-08-2019 23:00:49)

Отсутствует

 

Board footer

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