问题标签 [shellexecute]

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.

0 投票
1 回答
2220 浏览

c# - 显示 Windows 字符映射小程序?

从我的 .NET (C#) 应用程序中显示 Windows 字符映射小程序的最佳方式是什么?我知道它是一个可选组件,所以如果他们没有安装它,我想向用户显示一条消息。

我试过使用

但所发生的只是我的应用程序失去焦点并且字符图没有打开。作为测试,我尝试了“calc.exe”,它可以正常工作,就像在“运行”对话框中使用“charmap.exe”一样。我错过了什么?

0 投票
5 回答
7335 浏览

vba - 如何在电子邮件到达时启动 URL

我想在电子邮件到达 Outlook 时启动一个 URL。我设置了一个规则并让它触发一个脚本函数。看起来我想调用 ShellExecute 在浏览器中启动 URL,但是当我点击这一行时:

方法未定义。有任何想法吗?

0 投票
7 回答
12270 浏览

c# - 在新的浏览器进程中打开 URL

我需要在新的浏览器进程中打开一个 URL。当该浏览器进程退出时,我需要得到通知。我目前使用的代码如下:

显然,这不会到期,因为“文件名”被固定为 iexplore,而不是用户的默认 Web 浏览器。如何确定用户的默认 Web 浏览器是什么?

我在 Vista->forward 上运行。虽然如果可能的话 XP 会很高兴支持。

更多背景信息:我创建了一个非常小的独立 Web 服务器,它为本地磁盘上的一些文件提供服务。在启动服务器结束时,我想启动浏览器。用户完成并关闭浏览器后,我想退出 Web 服务器。上面的代码完美运行,除了只使用 IE。

提前致谢!

0 投票
3 回答
16264 浏览

delphi - 如何外壳到另一个应用程序并让它以德尔福形式出现

在 Delphi 中,我多年来一直使用 ShellExecute 来启动(并可选择等待)其他应用程序。但现在,我需要让这些应用程序之一出现在我的 Delphi 应用程序表单之一中。我已经尝试将下面的代码作为一个简单的测试来打开记事本(它确实如此)并在我的表单上的 PAnel1 中显示结果(它没有)。某个好心人可以让我走上正轨吗?谢谢

0 投票
3 回答
10538 浏览

c++ - OSX 相当于 ShellExecute?

我有一个要从 Win32 移植到 OSX 的 C++ 应用程序。我希望能够像用户打开它们一样启动任意文件。这在使用 ShellExecute 的 Windows 上很容易。我如何在 Mac 上完成同样的事情?

谢谢!

0 投票
4 回答
1239 浏览

windows - 确定已注册的延期申请

我有一个文件扩展名,我想获取应用程序的名称(如果有的话),当我 ShellExecute 一个该类型的文件时将调用它。这是一个 WTL/C++ 应用程序。是否有任何示例代码可以做到这一点?

谢谢!

0 投票
2 回答
2105 浏览

shellexecute - C++:获取执行我的应用程序的进程名称

我的应用程序将在安装过程中由安装程序启动,可能使用 ShellExecute。我想在启动我的应用程序时获取安装程序可执行文件的名称。

我可以从我的应用程序中以某种方式看到“父进程”吗?或者我可以扫描系统以查找具有特定标题的窗口并获取拥有该窗口的 .exe 的名称吗?

这是针对 MS Windows 的,我的应用程序是用 C++ 编写的。

0 投票
3 回答
16626 浏览

c# - 如何启动低优先级的进程?C#

我想执行一个命令行工具来处理数据。它不需要阻塞。我希望它是低优先级的。所以我写了下面

但是,我收到一条System.InvalidOperationException消息“没有进程与此对象关联”。为什么?如何以低优先级正确启动此应用程序?

没有这条线app.PriorityClass = ProcessPriorityClass.BelowNormal;,应用程序运行良好。

0 投票
3 回答
673 浏览

c++ - 使用 ShellExecute 的链接检查器?

我的任务是每周检查一次数据库并检查所有链接。我通常在 PHP 中工作,但在 PHP 中执行此操作会非常慢(它实际上会在大约 100 个 URL 之后使页面超时),所以我决定制作一个快速的 C++ 应用程序。

诚然,我从大学开始就没有使用过 C++,所以我有点生疏了。

我找到了 ShellExecute 函数,它打开页面没有问题。这是我到目前为止所拥有的:

问题是它总是返回 true,不管它是否打开了一个有效的页面。它似乎正在检查关联的应用程序(在这种情况下是浏览器)是否能够毫无问题地打开文档,然后返回 true。它不是查看浏览器是否收到 404,它只是看到它打开并运行并且很好。

有一个更好的方法吗?我错过了一步吗?

顺便说一句,我曾尝试使用 cURLcpp 的东西,但似乎无法弄清楚。所有示例都指向下载中不存在的头文件。我觉得 cURLcpp 是更好的方法。

谢谢你的帮助。

0 投票
2 回答
2868 浏览

c++ - 等待 ShellExecuteEx(设置 Windows 进程的访问权限)

ShellExecuteEx在 C++ 程序中使用该函数来启动 Uninstall.lnk 文件。在我的程序中,我想等待卸载程序完成。我的第一次尝试是SEE_MASK_NOCLOSEPROCESS在结构中设置标志,SHELLEXECUTEINFO然后调用传递给的结构中可用WaitForSingleObjecthProcess句柄,但这似乎仍然为时过早。SHELLEXECUTEINFOShellExecuteEx

我目前的怀疑是,这是因为 ShellExecuteEx 启动的进程(它是否启动了一个新的 shell?)创建了新的子进程,但不等待它们。所以我正在尝试创建一个“等待我的子进程及其启动的所有子进程”功能。为此,我正在尝试使用作业对象。

我使用创建了一个作业对象CreateJobObject,将返回的进程句柄分配ShellExecuteEx给作业,然后尝试等待作业对象。不幸的是,将进程分配给作业失败,我认为这是由于访问权限不足。

有谁知道如何AssignProcessToJobObject在进程句柄上设置 PROCESS_SET_QUOTA 和 PROCESS_TERMINATE 访问权限(根据 MSDN,这是成功所必需的),或者以其他方式等待 ShellExecuteEx 启动的进程完成?

更新:我应该指出我也在启动其他应用程序,而不仅仅是Uninstall.lnk. 其中之一是ClickOnce应用程序,它实际上是一个带有文件扩展名的简单 XML 文件.application