gpt4 book ai didi

VBA:运行 "Elevated"命令(Shell 与 ShellExecute)

转载 作者:行者123 更新时间:2023-12-01 23:54:37 27 4
gpt4 key购买 nike

在我的 VBA 程序中,我需要运行应用程序“Skitch”并使用它打开一个 JPEG 文件。这是我一直在使用的命令:

ReturnValue = Shell("C:\Program Files (x86)\Evernote\Skitch\Skitch.exe " & """" & aPic & """", 1)

...其中“aPic”是路径和文件名。

经过一些试验,我想我需要像在提升的命令窗口中一样运行命令(换句话说,以“管理员身份”运行它)。是否可以提升运行 Shell?

如果这是不可能的:如果我理解正确,使用 ShellExecute 而不是 Shell 将自动提升命令。但我对它不太熟悉。有人可以告诉我如何使用 ShellExecute 运行我的命令吗? (顺便说一句,我知道 ShellExecute 适合运行与文件类型相关的命令,但在此用户的计算机上 *.jpg 可能不会与 Skitch 相关联。)

谢谢。

最佳答案

尝试这个:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Public Sub test()

ShellExecute 0, "runas", "C:\Program Files (x86)\Evernote\Skitch\Skitch.exe", aPic, vbNullString, SW_SHOWNORMAL

End Sub

我没有 skitch所以不能尝试这个,但它应该可以工作。

更多信息 ShellExecute , click here看看MSDN。

关于VBA:运行 "Elevated"命令(Shell 与 ShellExecute),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com