Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 我的批处理文件关闭程序太早_Windows_File_Batch File_Command_Prompt - Fatal编程技术网

Windows 我的批处理文件关闭程序太早

Windows 我的批处理文件关闭程序太早,windows,file,batch-file,command,prompt,Windows,File,Batch File,Command,Prompt,感谢大家花时间阅读我的问题。我是一个游戏玩家,想执行一些事情。首先,当我点击一个程序时,我想触发一个批处理文件,你是怎么做的,或者说是可能的?基本上,激活游戏会触发批处理文件。 现在,对于批处理文件问题,我希望在激活游戏(这是一个mmo)时执行Xpadder,当我关闭游戏时,我希望Xpadder的进程/服务关闭。最终,它是自动触发、激活、等待、终止。 若一切都能完成的话,我希望这就是我想要的过程 批处理文件: @echo off start "Blade" "C:\Users\user\Doc

感谢大家花时间阅读我的问题。我是一个游戏玩家,想执行一些事情。首先,当我点击一个程序时,我想触发一个批处理文件,你是怎么做的,或者说是可能的?基本上,激活游戏会触发批处理文件。 现在,对于批处理文件问题,我希望在激活游戏(这是一个mmo)时执行Xpadder,当我关闭游戏时,我希望Xpadder的进程/服务关闭。最终,它是自动触发、激活、等待、终止。 若一切都能完成的话,我希望这就是我想要的过程

批处理文件:

@echo off

start "Blade" "C:\Users\user\Documents\Blade.xpadderprofile" Blade.xpadderprofile

ECHO Blade.xpadderprofile STARTED

start /w "C:\Program Files (x86)\game\games.exe" games.exe

ECHO games STARTED

taskkill /f /im Xpadder.exe
这实际上是可行的,但问题是有两个带有mmo的“.exe”文件。我将启动游戏,它会过早地关闭Xpadder,因为一个启动器启动另一个启动器/客户端。Xpadder适用于第一个发射器,但第一个发射器关闭,游戏将开始。我希望我的解释足够清楚

参考链接:

从本质上讲,这和我的问题是一样的,但不是很清楚。在关闭第二个启动器/客户端(而不是第一个启动器/客户端)之前,让Xpadder保持运行的批处理代码是什么

附言 游戏必须通过启动器打开,然后进入第二个启动器/客户端,否则将无法运行。 以下是我认为的其他客户端名称和路径:

C:\Program Files (x86)\game\gamer\bin\gam.exe
PsExec是一个小型的ulility,它的使用情况如何?使用它,您的批处理应该可以:

cmd /c psexec -d "Blade" "C:\Users\user\Documents\Blade.xpadderprofile" Blade.xpadderprofile  
start /w "C:\Program Files (x86)\game\games.exe" games.exe  
taskkill /f /im Xpadder.exe  
文件psexec.exe必须放在系统变量WINDIR或PATH中登记的文件夹中,否则,您应使用其完整路径调用它,例如
*C:\Program Files\Others\pstools.exe“


你可以加上
@echo off
,盐,胡椒或一些绿色的塔巴斯科,如果你有时间的话:D

检查类似的问题我很抱歉,但我对这一点完全陌生…我应该更清楚一些。我不明白你的代码,有没有更简单的方法,或者必须是这样。记住,xpadder必须在第二个启动程序/客户端不是第一个启动程序/客户端。只需省略这一行中的
start/w
start/w“C:\Program Files(x86)\game\games.exe”games.exe
这是我拥有的,但它不起作用。如果我双击批处理程序,它将启动游戏和xpadder,但我必须转到“播放”按钮。当我转到“播放”按钮时“按钮,它关闭该发射器并开始游戏,基本上关闭Xpadder,因为该发射器已关闭。游戏在运行时显然是“client.bin”,而不是“.exe”,因此您可以编写一个
goto
循环来运行
tasklist/fi“WINDOWTITLE eq gamename”|查找“gamename”和&goto循环| | taskkill/im“xpadder.exe”/f
任务列表之间使用
ping-n 11 0.0.0.0>NUL
:循环
每次循环暂停10秒。您可以尝试启动游戏,点击Play,然后最小化它(Win meta key+M),如果您不知道,请查看任务栏按钮以获取其窗口标题。