问题标签 [shellexecuteex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 Windows 10 中从 C++ 启动 Microsoft Edge 的方式在 Windows Server 2016 中不起作用
以下文件 test.cc 用于启动具有特定 URL 的 Microsoft Edge:
编译:
它适用于 Windows 10(Edge 打开到特定 URL),但在 Windows Server 2016 中,此程序会弹出一个错误窗口:
标题:microsoft-edge:http://www.stackoverflow.com
内容:This file does not have a program associated with it for performing this action. Please install a program or, if one is already installed, create an association in the Default Programs control panel.
我在控制面板中检查了“默认程序”,并在 Microsoft Edge 页面中选择了“将此程序设置为默认程序”。
windows - 由 ShellExecuteEx 启动的 Windows Server 最大进程限制
我用 C++ 编写了一个小型 Windows 服务,它通过 ShellExecuteEx 定期运行 .cmd 文件。有时会出现问题:ShellExecute 返回 true - 一切正常 - 但没有启动子 cmd.exe 进程并且 SHELLEXECUTEINFO.hProcess 为 NULL,尽管我指定了 SHELLEXECUTEINFO.fMask = SEE_MASK_NOCLOSEPROCESS。即使它没有启动一个简单的.cmd: date /T >> file.txt
通常 .cmd 文件包含运行 php 脚本的 php 命令。
当整个系统通过这个在 NETWORK_SERVICE 帐户下运行的 Windows 服务运行大约 100 个子 cmd.exe 进程时,就会出现此问题。手动从资源管理器中我能够运行这样的 cmd 进程。
ShellExecuteEx 启动的最大进程是否有 Windows 系统限制?
delphi - 如何 ShellExecute 一个程序,然后发送它的命令行文本
我可以用 ShellExec 打开一个外部程序
但后来我想向它发送如下命令:
这可能吗?
visual-c++ - ShellExecuteEx 将焦点转移到先前打开的应用程序上,并在短时间内再次返回到 .exe
我ShellExecuteEx(&ShExecInfo)
用于启动一个.exe
,当.exe
从我的应用程序启动时,Windows 焦点在 1 秒左右的很短的时间内转移到先前打开的应用程序(如 Windows 探索),然后返回到.exe
. 我希望我的重点应该放在 exe 上,而不是在短时间内进入任何应用程序。
参考代码:
batch-file - 使用 ShellExecuteEx 从 Inno Setup 中的批处理文件中获取退出代码
我有几个从 Inno Setup 执行的批处理文件。我ShellExecuteEx()
用来执行批处理文件:
但无论我尝试什么,我都无法从批处理文件中获取退出代码ResultCode
(我总是返回 0)。
在研究这个问题时,我读到该批次不能使用exit /b NN
. 所以我删除了/b
开关,但我仍然总是得到 0。
我必须怎么做才能成功地从批处理文件中获取退出代码?
丹尼斯
c - 使用 ShellExecuteEx() 将 UAC 窗口置于顶部
我正在使用 Microsoft Visual Studio 2010,并且正在用 C/C++ 编写代码。
我有自动启动安装过程的代码。在这种情况下,安装过程需要 UAC,所以我使用带有动词ShellExecuteEx()
的 API 函数:runas
InstallCreateWindow()
函数创建信息窗口,它还创建单独的窗口消息线程。窗口是可见的,最上面的,它响应消息。我必须创建它,因为我已经阅读hwnd
了结构中需要正确的参数SHELLEXECUTEINFO
才能将 UAC 提示窗口保持在顶部。
但这不起作用。有时 UAC 窗口会最大化运行,但主要是在任务栏中最小化并突出显示。无论如何,有没有一种方法可以将 UAC 窗口置于顶部?
inno-setup - 启动使用 Inno Setup 创建的安装程序时出现 ShellExecuteEx 错误 299
我使用 Inno Setup 创建我的第一个安装程序。
但是当安装程序启动时,在窗口屏幕询问执行此文件的权限之前,我收到一个带有此错误的窗口:
ShellExecuteEx 一个 échoué :代码 299
Seule une partie d'une requete ReadProcessMemory 或 WriteProcessMemory 一个été effectuée。
英语(来自 WinError.h):
ERROR_PARTIAL_COPY - 仅完成了 ReadProcessMemory 或 WriteProcessMemory 请求的一部分。
然后启动安装程序。但是,大约 10 秒后,它会自行再次启动。
这是我的ISS文件:
即使我使用向导创建了新的安装程序,我也遇到了这个问题。我在 Inno Studio 中添加了一个日志,但它只有编译的日志,没有错误。
有谁知道这个问题来自哪里?
uac - 如何禁用特定应用程序的 UAC 提示
我有一个用于某种目的的命令行实用程序。我使用 ShellExecuteEx 函数从 COM DLL 启动此实用程序。当调用 ShellExecuteEx 时,我将 lpVerb 参数指定为“runas”,以便提升实用程序启动。我在启动时从 exe 客户端调用 COM 接口函数。因此,当我启动客户端 exe 时,该实用程序也会启动。我的问题是,由于该实用程序启动提升,它总是要求 UAC 确认提示。我受不了这个,因为在这个过程中不会有人工干预。所以我需要在不显示 UAC 提示的情况下启动该实用程序,但在我启动客户端 exe 时仍会提升。有什么办法可以做到这一点?我更喜欢在实用程序本身内进行一些更改,例如更改清单文件,而不是更改一些系统设置。
delphi - 从 Delphi 打开和关闭外部程序
在我的应用程序(Delphi XE10)中,我想用用户的默认编辑器(MSword 或 OpenOffice writter 或其他)打开一个文件(RTF),并能够从我的应用程序中关闭这个编辑器。我尝试使用下面的代码,但没有成功关闭编辑器
在哪里:
编辑器打开,但是当它必须用 KillProcess 关闭时,ovExitCode 始终为零,因此 TerminateProcess 不会执行。我也尝试在任何情况下执行 TerminateProcess,但编辑器(在这种情况下为 MSword)没有关闭。
你能帮我吗 ?提前致谢
c# - Process.Start is very slow
I'm currently using this method and it works perfectly:
I then tried it on another computer and its also working there but it's VERY slow (more that one minute to open my mail editor!).
I debugged the Process.Start
(in System.dll) method and found out that the problem was at the end the NativeMethod.ShellExecuteEx
method that runs very slowly.
I also noticed that specifying the name of the program that should open to send the email
solves the problem but that does not explain why it's working correctly on a computer and not on the other and it doesn't do the same thing: not specifing the program automatically opens the default one.
So the question is quite simple: Why this behavior and how to workaround it?