首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cmd开始命令忽略/min开关

问Cmd开始命令忽略/min开关
EN

Stack Overflow用户
提问于 2017-04-01 17:39:11
回答 3查看 6.7K关注 0票数 2

我正在运行windows 2012,每当我在控制台中输入此命令时:

代码语言:javascript
复制
start /min calc.exe

它打开应用程序,但是,它并没有最小化为任务栏。

在Windonws 8.1上,它确实将其最小化。

知道为什么吗?

编辑:,我想在这个问题上更具体一些,因为它正在变得混乱。

上面的calc.exe只是一个演示/min开关不工作的例子。

我真正的目标是通过命令行在Win 2012 R2中启动python和chrome。

当使用/min开关时,它们都会在8.1中最小化启动。

EN

回答 3

Stack Overflow用户

发布于 2017-04-06 11:53:28

start /min file.exe使用CreateProcess API调用启动进程,其中STARTUPINFO结构中的附属信息由lpStartupInfo参数指向。

在此结构中,有一个wShowWindow成员指示如何显示已启动进程的窗口。它的文件声明

wShowWindow 如果dwFlags指定了STARTF_USESHOWWINDOW,则该成员可以是ShowWindow函数的nCmdShow参数中可以指定的任何值,但SW_SHOWDEFAULT除外。否则,此成员将被忽略。 对于GUI进程,第一次调用ShowWindow时,它的nCmdShow参数被忽略,wShowWindow指定默认值。在随后对ShowWindow的调用中,如果wShowWindow成员的nCmdShow参数设置为SW_SHOWDEFAULT,则使用ShowWindow成员。

也就是说,依赖于如何处理已启动的进程的窗口管理。在start命令中,您无法确保将新窗口最小化。

备注:对于可执行文件,start命令使用CreateProcess,但参数不同(文档、URL、.)导致使用不同的API (Ex )。ShellExecute或ShellExecuteEx),但在遵循不同的路径后,您将遇到相同的问题。

备注2:正如已经评论过的,在某些情况下(我的例子,windows 10,calc.exe)您启动了一个进程,而它启动了另一个进程。您无法控制第二个已启动的进程。

票数 7
EN

Stack Overflow用户

发布于 2017-04-10 17:49:11

我无法在命令提示符中这样做,但我能够在PowerShell中做到这一点。由于您是在2012年,安装Powershell ISE从服务器管理器( Server )\管理( Manager )角色和特性。

首先,我从这个页面设置窗口样式函数创建了这个函数

然后我写了这些行(Python在您的计算机上可能有不同的名称)

代码语言:javascript
复制
 (Get-Process -Name Python).MainWindowHandle | foreach { Set-WindowStyle MINIMIZE $_ }
 (Get-Process -Name Chrome).MainWindowHandle | foreach { Set-WindowStyle MINIMIZE $_ }

最后,我将其保存为脚本,并将其粘贴到桌面上。

票数 2
EN

Stack Overflow用户

发布于 2017-04-10 18:08:48

你没有写,你不想使用任何工具,所以这里有一个,可以解决你的问题。不需要安装,它是从一个可信的发行商(Nirsoft),所以你应该尝试一下。链接:run.html

首先,您必须通过gui创建一个配置文件,而不是通过调用AdvancedRun.exe /run config.cfg来启动该配置文件。

希望它能帮到你!

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

https://stackoverflow.com/questions/43160012

复制
相关文章

相似问题

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