2017-01-06 26 views
1

私は子プロセスとしてゲームを生成しています。ゲームの元の.exeファイルでうまく動作します。しかし、私はそれを最小限に抑えて実行したいと思います。私が知る限り、これを実行する唯一の方法は、ウィンドウショートカット(.lnkファイル、同じディレクトリに)を作成し、起動オプションを最小化に設定することです。node.jsで.lnk windowsショートカットを生成すると "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

おかげで、私は実際にそれを試していたし、何それがなかったことは、インスタンスを即座に閉鎖されました。これは、シェルをtrueに設定すると、パスがシェル内で実行されていたため、スペースのために文字列に余分な引用符が必要になるためです。もう1つの問題は、.lnkが正しく実行されているにもかかわらず、起動オプションがそのプロパティに設定されていても、最小化を開始しないことです。そこに任意のアイデア? – Drithyl

+0

Windows 10 Build 14986でその動作を再現できません。 – djones

関連する問題