解決方案1
保存文本的這一行的文件invisible.vbs:
CreateObject(「Wscript.Shell」).Run 「」"」 & WScript.Arguments(0) & 「」"」, 0, False
無形地運行任何程序或批處理文件,使用這樣的:
wscript.exe 「C:\Wherever\invisible.vbs」 「C:\Some Other Place\MyBatchFile.bat」
也可以傳遞/傳遞參數列表,只使用兩個雙引號
CreateObject(「Wscript.Shell」).Run 「」 & WScript.Arguments(0) & 「」, 0, False
如:Invisible.vbs 「Kill.vbs ME.exe」
解決方案2
使用命令行工具來默默啓動一個進程:Quiet。
解決方案3
推出自己的C++的Win32應用程序:
PROCESS_INFORMATION procInfo = {0};
STARTUPINFOstartupInfo = {0};
SECURITY_ATTRIBUTESsaAttr = {0};
HANDLEhStdIn = GetStdHandle(STD_INPUT_HANDLE);
HANDLEhStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
HANDLEhStdErr = GetStdHandle(STD_ERROR_HANDLE);
// build up security attributes
saAttr.nLength = sizeof(saAttr);
saAttr.bInheritHandle = TRUE;
saAttr.lpSecurityDescriptor = NULL;
// set file handles for process to be created
startupInfo.cb = sizeof(startupInfo);
startupInfo.dwFlags = STARTF_USESTDHANDLES;
startupInfo.hStdInput = hStdIn;
startupInfo.hStdOutput = hStdOut;
startupInfo.hStdError = hStdErr;
// build command line: format is [cmd.exe /c "%batchScript%" %batchArgs%]
if (-1 == _snprintf_s(cmd, sizeof(cmd),"cmd.exe /c \"%s\" %s", batchScript, batchArgs))
errorExit("_snprintf_s(\"cmd.exe /c \"%%s\" %%s\"), \"%s\", \"%s\") failed.", batchScript, batchArgs);
rc = CreateProcess(NULL, cmd, NULL, &saAttr, TRUE, CREATE_NO_WINDOW, NULL, tempPath, &startupInfo, &procInfo);
我的猜測是,你將需要做一個快捷方式,使窗口最小化。如果你想要更好,那麼你需要用不使用控制檯窗口的應用程序語言編寫啓動程序。我會使用一個C應用程序來做到這一點。 – krowe
最小化啓動控制檯不適用於我,也不會啓動。我正在攻擊一個節點的分支,所以我完全控制了代碼(JS和C)。 – josh3736
編寫一個小應用程序以使用CreateProcess啓動它:http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx – krowe