2017-01-06 85 views
1

我有一個作爲子進程產生的遊戲。這一切都很好,並與遊戲的原始.exe文件。然而,我希望它執行最小化,並且據我所知,唯一的方法是創建一個Windows快捷方式(.lnk文件,位於同一目錄中),並將啓動選項設置爲最小化。 Node.js的不喜歡:用node.js生成一個.lnk窗口快捷方式給出「UNKNOWN」錯誤

internal/child_process.js:313 
    throw errnoException(err, 'spawn'); 
    ^

Error: spawn UNKNOWN 
    at exports._errnoException (util.js:1026:11) 
    at ChildProcess.spawn (internal/child_process.js:313:11) 
    at exports.spawn (child_process.js:380:9) 
    at ExecDom4Server (D:\Google Drive\Clockwork Hounds stuff\MrClockworkBot\v10 
\MrClockworkBot.js:568:42) 
    at ontimeout (timers.js:365:14) 
    at tryOnTimeout (timers.js:237:5) 
    at Timer.listOnTimeout (timers.js:207:5) 

遊戲本身對圖形設置的一些具體參數,但啓動它或者最小化無。這裏是特定的代碼:

function execDom4Server(name, args) 
{ 
    var spawn = require('child_process').spawn; 
    childrenProcesses[name.toLowerCase()] = spawn(dom4root + "dom4.exe.lnk", args); 
    updateDom4Games(); 
} 

我已經到處尋找這個,但我想它是相當具體的。我不知道是否只是node.js無法處理.lnk文件。任何你可以給我的指針將不勝感激!

回答

0

,如果你使用的spawnshell選項(這應該工作)

spawn('application.lnk', args, { shell: true }) 
+0

謝謝,我實際上嘗試,和它的所作所爲被立即關閉該實例。這是因爲將shell設置爲true時,路徑在shell中執行,因此需要在字符串中使用額外的引號。現在的另一個問題是,儘管它現在正確執行.lnk,但它並未開始最小化,即使啓動選項已在其屬性中設置。那裏有任何想法? – Drithyl

+0

我無法在Windows 10 Build 14986中重現該行爲 – djones

相關問題