Чи можна запускати програму GUI у фоновому режимі в командному рядку Windows?


Відповіді:


21

Команда для запуску програм з командного рядка в Windows - це "start"

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, щоб запустити програму мінімізовано


2
FYI, правильною командою в цьому випадку є "start / B emacs foo.txt". В іншому випадку він працює у власному вікні консолі, що прийнятно, але дратує. :-)
Джейсон Бейкер

3

Я не знаю, чи цього буде достатньо, але спробуйте

start emacs foo.txt

Він не піде на другий план, але швидше запустить окреме вікно cmd.exe для команди.


2

Ха-ха, мені вдалося, використовувати піднесений text3 в якості сервера розмітки попереднього перегляду - це моя пропозиція, після закриття вікна піднесеного тексту я не працюватиму. Я б спробував багато методів, нарешті це працює. спочатку вам слід створити кажан, щоб запустити цю програму.

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

sencond, запустіть цю биту за завданням розкладу.

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

додайте тригер для запуску цього кажана за цим графіком

додати цю биту як операцію для виконання

Цей результат полягає в тому, що він працює, щоб уникнути відображення піднесеного текстового вікна. Він працює в конфлікті з піднесеним текстом, який зазвичай відкривається.

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


1

Залежить від того, яку версію Windows ви використовуєте.

У Vista ви маєте змогу ввести ім'я exe у своєму шляху та мати його після закінчення командного рядка.


1

почати обчислення

Як запустити програму з командного рядка в Windows

Команда START використовується у запиті MS-DOS для запуску програми на базі MS-DOS або Windows. Програма запускається як окреме завдання, яке можна запустити на передньому плані або на задньому плані.


1

На жаль, я не думаю, що це можливо.

Це можна зробити за допомогою сценарію хост 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 ) та " true "говорить, що ви хочете зачекати, поки команда завершиться, перш ніж ваш сценарій буде виконаний.

Це було б простою вправою, щоб перетворити це в загальний сценарій "запустити цю команду приховано", який ви можете використовувати з командного рядка.

Якщо у вас встановлено новий новий PowerShell від Microsoft, можливо, є простіший спосіб зробити це (я ще не працював з PowerShell).

Якщо ви щасливі, що вікно буде мінімізоване, ви можете зробити це за допомогою команди "start", що інша згадка. На жаль, опція "/ B" (яка здається, що це те, що ви хочете) призначена лише для команд, і вона не зупиняє появу віконних програм на екрані.

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


1

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

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

1
sc створити nrgok binpath = "cmd / c \" c: \ tmp \ ngrok.exe \ "http 80" type = own type = interact
Lalo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.