首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >默认情况下,如何向正在运行的进程或exe添加参数?

默认情况下,如何向正在运行的进程或exe添加参数?
EN

Stack Overflow用户
提问于 2016-11-03 16:03:39
回答 1查看 1.3K关注 0票数 2

目标:

我试图使用一个名为Texmod.exe的程序来启动另一个具有特定参数的程序(exe)。

背景:

Texmod是一个程序,它打开另一个exe,并提取/替换在第二个程序运行时被拖出的纹理。我试图用参数启动第二个exe:-AlwaysFocus -ControllerOffset=1 -SaveDataId=2。使用命令行中具有这些参数的快捷方式/..bat启动第二个exe确实有效。不过,我想和德州汽车公司一起做这件事。

并发症:

  1. 我使用的是Texmod v0.9b,它不支持使用命令行参数启动exe。较新的版本,如名为uMod的开放源码重新引导,确实支持,但它也不替换纹理,并且经常与原始版本相比崩溃。
  2. Texmod.exe必须直接启动第二个exe。无法选择启动exe的快捷方式。我试过让Texmod启动另一个exe /..bat,然后用参数启动第二个所需的exe,但这会导致Texmod无法正常工作。

方法我已经考虑过了,但不确定它们是否有效,甚至可能:

  1. 以某种方式强迫由Texmod.exe启动的所有进程从某些参数开始
  2. 以某种方式强迫所需的exe始终使用某些参数启动,而不考虑启动方法(通过Texmod、快捷方式、.bat等)
  3. 将参数添加到所需的exe运行后启动的进程。

显然我对任何想法都持开放态度。我要问的是什么可能吗?对不起,如果它似乎不清楚或我听起来不合理;我的知识是有限的。

编辑: @Toby我不知道您所说的代码示例是什么意思,因为我只是想知道是否有可能执行我描述的场景。这就是我获得特克斯莫德程序的地方(这是最古老的texmod.zip版本--原始的TexMod 0.9测试版)。我在互联网上搜索了一些可能的解决方案,但是我发现的很少,所以我尝试过的一些方法是:

  1. 使用Texmod.exe启动桌面快捷方式,目标是:“目录到exe”-AlwaysFocus -ControllerOffset=1 -SaveDataId=2。结果是Texmod无法使用快捷方式,只是在没有参数的情况下打开了exe。
  2. 使用Texmod启动一个名为caller.exe的exe,它使用描述这里的方法启动我想要的exe。在command.txt中,我使用了“exe.exe的名称”-AlwaysFocus -ControllerOffset=1 -SaveDataId=2。结果是exe从参数开始,但Texmod无法修改纹理,因为它正在修改由caller.exe提取的纹理。
  3. 使用Texmod打开一个.bat文件,其行为:“exe.exe的名称”-AlwaysFocus -ControllerOffset=1 -SaveDataId=2。其结果与#2中描述的尝试相同。

Edit2:,我也无意中遇到了此页,在那里,其他人声称他们成功地实现了我想要的目标。但是,我对代码还不太了解。如果有人能看一看,看看它是否有效,或者他们是否可以修改它,以符合我想要的论点。

EN

回答 1

Stack Overflow用户

发布于 2022-05-29 22:03:32

当调用特定的.exe时,您可以使用windows注册表强制Windows运行另一个应用程序。让我举一个例子:我试图在“记住我”中使用TexMod。

所需设置:

  • 创建游戏.exe的副本,以不同的名称将其放置在原版附近(如RememberMe_copy.exe )
  • 转到windows注册表位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  • 创建新的key,名为原始.exe,在我的示例中是RememberMe.exe。注册表项看起来像文件夹。
  • 在这个键中,使用所需的命令行args创建新的字符串值,名为Debugger,具有复制 of .exe的完整路径。例如:"C:\Program Files (x86)\Steam\steamapps\common\Remember Me\Binaries\Win32\RememberMe_copy.exe" -ReadPoolSizeFromIni。注意,引用了.exe的路径,命令行参数没有引用。字符串值具有REG_SZ类型。

现在,当您尝试运行任何称为RememberMe.exe的程序时,Windows将使用指定的参数(以及其他一些内容,但我们并不关心)来运行RememberMe_copy.exe。此功能保留在Windows中,用于调试。

最终,打开TexMod,选择RememberMe.exe。它会认为它在运行原始文件,但是Windows将使用另一个参数悄悄地运行另一个文件。由于两者之间没有别的东西,TexMod很高兴。

为什么不能使用单个文件呢?很好,Windows将运行原始.exe而不是原始.exe,然后代替它运行原始.exe.导致无限循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40406225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档