问题标签 [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.
sql-server - 如何从 SQL Server 使用 REST Web 服务
我有以下情况
主要是一些真正的基本休息网络服务,我只是检查一条记录的存在,它只是一个单一的验证,我没有移动数百行......
应该从 sql 2005、sql 2008 调用...是的 sql 2000 和 sql 6.5(哎呀!)
我想用 sql 2005 和 2008 我可以用 HttpWebRequest 实现一个程序集......
sql 2000 和 6.5 怎么样???也许通过 xp_cmdshell 使用 curl ???
有没有人尝试过这样做?
-- 我发现了一些有趣的链接
SQL Server - 使用 CLR 集成来使用 Web 服务
http://www.simple-talk.com/sql/sql-server-2005/practical-sql-server-2005-clr-assemblies/
winapi - 哪些原因可能导致 ShellExecute 失败?
我有一个 VB6 应用程序,它使用以下方法打开文件及其关联的应用程序:
这完美地工作。
现在我有一个客户(使用 Adobe Reader 运行 XP)无法使用上述命令打开任何 PDF 文件。但是当从 Windows 资源管理器中双击同一个文件时,它打开时没有任何问题。我还在我的机器上测试了文件名/路径组合以排除这些问题。
我正在寻找任何关于我可以检查以确保ShellExecute
工作正常的提示。或者是什么导致 ShellExecute 以这种方式失败?
mfc - 使用默认浏览器打开安装 CD 上的 html 页面
我正在尝试使用自定义 MFC 应用程序构建安装 CD,该应用程序设置为在插入 CD 时自动运行。
这些说明包含在一个简单的 html 页面中,其中包含图像和 PDF 文档的链接,所有这些都位于 CD 上。
过去,我使用以下内容使用默认浏览器打开 html 页面:
但是在 vista 下使用 IE8 进行测试时,我遇到了以下问题:
- 资源管理器启动
- 标签显示“正在连接”
- 探险者消失
这与保护模式有关,因为如果您关闭 Internet 区域的保护模式,问题就会消失。
奇怪的是,只有在将所有内容刻录到 CD 后才会出现问题。如果我只是从我的硬盘驱动器手动运行自动运行可执行文件,那么 html 页面就会正常显示。
所以我问是否有什么具体的办法可以解决这个问题?或者,如果有另一种使用用户默认浏览器打开 URL 的机制可能不会出现此问题?
c++ - 如何查找是否可以通过 ShellExecute 打开文档?
我想检查一个特定的文件是否可以通过 ShellExecute 成功“打开”,所以我试图使用 AssocQueryString 来发现这一点。
例子:
现在,这几乎可行。如果有注册的应用程序,我会得到字符串。
但是,有一个问题:在Vista上,即使没有注册应用程序,它也会返回应用程序c:\Windows\System32\shell32.dll关联,这就是导致100%无用“Windows无法打开”的东西此文件:使用 Web 服务查找正确的程序?” 对话。
显然,我想对最终用户隐藏 cr*p 的部分,但简单地将返回的字符串与常量进行比较似乎是一种丑陋、暴力和脆弱的做法。
此外,破解注册表以完全禁用此对话框也不是一个好主意。
有什么更好的选择?
php - 在 PHP 中执行 shell 脚本时出错
我正在尝试通过以下方式执行 shell 命令:
但它没有给出任何输出。可能是什么原因?
尽管它不起作用,但以下行按预期工作:
vba - VBA 中的 ShellExecuteEx
我了解如何在 VBA 中使用 ShellExecute(对于我的 Outlook 宏),但我希望能够使用 ShellExecuteEx 来等待脚本中执行的程序。有没有人有如何做到这一点的例子?目前我有这个代码:
然后我的代码调用实际程序(使用 ShellExecute):
任何人都可以提供任何帮助来切换它,以便我可以使用 ShellExecuteEx 在我的脚本执行继续之前等待我的 HTA 关闭?
delphi - 如何在 Delphi 中运行命令行程序?
我需要从 Delphi 软件执行 Windows“查找”命令。我尝试使用该ShellExecute
命令,但它似乎不起作用。在 C 语言中,我会使用该system
过程,但在这里......我不知道。我想做这样的事情:
编辑:感谢您的回答:) 我试图将“查找”作为可执行文件运行,而不是作为 cmd.exe 的参数。
com - 如何执行/ShellExecuteEx/InvokeCommand ITEMIDLIST 指向 Shell 对象?
我正在建造一种码头,我很难找到如何保存诸如“运行”、“搜索”、“帮助”、“打印机”之类的东西,然后再重新打开它们。
我试过这个:
无论我在最后一行尝试 InvokeCommand,总是返回 E_INVALIDARG。我用 ShellExecuteEx 试了一下,得到了同样的错误。
我尝试了所有可能的动词。
我试图枚举动词并得到 E_INVALIDARG。
我不能让它工作,但在正常的文件系统路径上,比如“c:\”和文件夹上的 clsid。我错过了什么 ?
windows - 如何将所有快捷方式重定向到给定的可执行文件?是否有任何等效于 Windows 上的符号链接?
我正在开发一个程序,其中包括一个通用引擎、一些程序特定内容和一个自定义自动更新程序,以尽可能有效地处理更新我们内容中的数 GB 价值的媒体。在最近发布的引擎中,我们重新组织了我们的目录结构,而不是将可执行文件安装到 (例如) c:\Program Files\Program\Engine.exe
,它现在位于c:\Program Files\Program\engine\win32\NewEngine.exe
(请注意,在此过程中引擎的名称也发生了变化)。
问题是,为了启动程序,用户需要使用快捷方式,我们将其安装在他们的开始菜单和(可选)他们的桌面上。不过,更新后引擎的移动会破坏这些快捷方式。所以现在我需要找到一种方法来修复用户为了启动程序而拥有的所有快捷方式。
来自 Unix/Mac OS X 背景,我倾向于只创建一个从旧可执行文件名称到新可执行文件名称的符号链接。据我所知,在 Windows 上并没有真正的符号链接(从谷歌搜索,我看到Vista 和更高版本上有符号链接,但这需要在 XP 上工作)。我的假设错了吗?Windows 上是否有与可执行文件的符号链接等效的东西?
想到的其他一些可能的解决方案是:
- 在旧位置创建一个小型可执行文件,在新位置启动真正的可执行文件。是否有任何快速简便的方法来创建一个简单的、无头的可执行文件,它只是启动另一个程序?同样,在 Unix 上,我只是创建一个 shell 脚本,但据我所知,我无法命名一个
.bat
文件.exe
并让它运行,所以这需要一种实际生成.exe
. - 更新后,搜索指向可执行文件的所有快捷方式并进行编辑。是否有任何(有效且可靠)的方法来查找系统上指向给定位置的所有快捷方式并更新它们?
- 上述的组合,带有一个小的可执行文件,它检测到它是从快捷方式启动的,并在启动真正的程序之前编辑该快捷方式。有什么方法可以检测到程序正在从快捷方式启动,从而能够编辑该快捷方式?
这些选项中的任何一个是否有效,如果有效,如何?在 Windows 上执行此类操作的最佳方法是什么?我是否错过了将快捷方式从一个位置重定向到另一个位置的任何其他方法?
编辑添加:我们有一些额外的要求:
- 我们的许多用户都是非技术人员。任何需要用户干预的解决方案都是不可能的。
- 这应该尽可能无缝。每次用户单击快捷方式时都会弹出任何额外的窗口是不可接受的。
- 面对用户可以做的大多数事情,这应该是稳健的,例如重新排列他们的开始菜单或将快捷方式移动到快速启动栏。
- 我们的快捷方式对于程序的运行是绝对必要的,因为它们传递了引擎加载内容所必需的参数(是的,这不太理想;我更愿意解决这个问题,但目前不能)
- 我正在寻找相对快速且易于实施且极其可靠的东西。
c# - 从 C# 执行另一个程序,我需要自己从注册表中解析“命令行”吗?
从注册表中,对于给定的文件类型,我得到一个包含如下内容的字符串:
或者有时:
为了让我执行这个程序,并传递一个文件名作为参数(我知道它接受),我必须自己解析这个字符串,还是有一个运行时类可以为我做这件事?请注意,我不是在询问是否处理两者之间关于它是否具有“%1”的差异,而是我需要拆分可执行文件的名称,分别获取命令行参数。
我尝试只是附加/注入文件的完整路径和名称以传递到上面的字符串中并将整个shebang传递给Process.Start,但当然它只需要文件名作为单个参数,所以不会工作。
基本上,以上必须手动完成:
我尝试使用UseShellExecute,但这没有帮助。还有其他指针吗?
要清楚,我想要这个: