Назад | Перейти на главную страницу

Могу ли я запустить программу с графическим интерфейсом пользователя в фоновом режиме из командной строки Windows?

Например, в Bash я могу сделать это:

emacs foo.txt &

Есть ли аналог в Windows? Кажется, я не могу найти способ сделать это с версией emacs для Windows.

Команда для запуска программ из командной строки в Windows - «старт».

Starts a separate window to run a specified program or command.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/AFFINITY <hex affinity>] [/WAIT] [/B] [command/program]
      [parameters]

    "title"     Title to display in  window title bar.
    path        Starting directory
    B           Start application without creating a new window. The
                application has ^C handling ignored. Unless the application
                enables ^C processing, ^Break is the only way to interrupt
                the application
    I           The new environment will be the original environment passed
                to the cmd.exe and not the current environment.
    MIN         Start window minimized
    MAX         Start window maximized
    SEPARATE    Start 16-bit Windows program in separate memory space
    SHARED      Start 16-bit Windows program in shared memory space
    LOW         Start application in the IDLE priority class
    NORMAL      Start application in the NORMAL priority class
    HIGH        Start application in the HIGH priority class
    REALTIME    Start application in the REALTIME priority class
    ABOVENORMAL Start application in the ABOVENORMAL priority class
    BELOWNORMAL Start application in the BELOWNORMAL priority class
    AFFINITY    The new application will have the specified processor
                affinity mask, expressed as a hexadecimal number.
    WAIT        Start application and wait for it to terminate

Вы можете использовать опцию MIN для запуска свернутой программы.

Не знаю, хватит ли, но попробуй

start emacs foo.txt

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

Ха-ха, я добился успеха. Я предлагаю использовать sublime text3 в качестве сервера предварительного просмотра уценки, после того как я закрою окно Sublime Text, я не буду работать. Я бы попробовал много способов, наконец-то работает. Во-первых, вы должны создать летучую мышь для запуска этой программы.

start  /B "" "D:\dev\sublime3\Sublime Text 3\subl.exe" "-s" "%USERPROFILE%\Dropbox\dev\apis\*.markdown" 

Во-вторых, запустите эту летучую мышь по расписанию.

run window+R->taskschd.msc->add a task

добавить триггер для запуска этой летучей мыши по этому расписанию

добавить эту летучую мышь как операцию для выполнения

Этот результат состоит в том, что он работает, чтобы избежать отображения окна возвышенного текста. И он работает в конфликте с обычно открытым возвышенным текстом.

Может, вы догадались, я использую OmniMarkupPreviewer плагин для предварительного просмотра уценки. Я исправил эту ошибку (или не идеальную функцию), что он каждый раз использует другой идентификатор представления.

Зависит от того, какую версию Windows вы используете.

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

начать расчет

Как запустить программу из командной строки в Windows

В НАЧАЛО Команда используется в командной строке MS-DOS для запуска программы на базе MS-DOS или Windows. Программа запускается как отдельная задача, которую можно запускать как на переднем плане, так и в фоновом режиме.

К сожалению, я не думаю, что это возможно.

Вы можете сделать это в сценарии Windows Scripting Host, например:

Set oShell = WScript.CreateObject("WScript.Shell")
Set oProc = oShell.Run "<your command here>",0,True

Если «0» означает, что результирующее окно должно быть скрыто (другие параметры см. В документации по адресу http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx), а значение «истина» означает, что вы хотите дождаться завершения команды, прежде чем ваш скрипт продолжит работу.

Было бы несложным упражнением заключить это в общий сценарий «запустить эту команду, скрытый», который можно было бы использовать из командной строки.

Если у вас установлен новый PowerShell от Microsoft, то может быть более простой способ сделать это (я еще не работал с PowerShell).

Если вы счастливы, что окно свернуто, вы можете сделать это с помощью команды «start», о которой упоминали другие. К сожалению, параметр «/ B» (звучит так, будто это то, что вы хотите) предназначен только для команд и не останавливает отображение оконных приложений на экране.

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

sc create service и запустите его со специальными символами в файле и параметрах, например

sc create ngrok "cmd /c \"c:\tmp\ngrok.exe\" http 80" type=own type=interactive