【问题标题】:Cannot launch an application in WS_MAXIMIZE using ShellExecute from Delphi Rio in Windows 10无法在 Windows 10 中使用 Delphi Rio 的 ShellExecute 在 WS_MAXIMIZE 中启动应用程序
【发布时间】:2020-04-02 14:34:30
【问题描述】:

我尝试使用 ShellExecute 运行应用程序。它运行了,但没有显示(我可以在 TaskManager 中看到该实例)。

    ShellExecute(0, PChar('open'), PChar(ExtractFileName(edExePath.Text)),
    PChar(theParameter), PChar(theFolder), WS_MAXIMIZE);

我应该怎么做才能以最大窗口大小启动应用程序?

【问题讨论】:

  • 它适用于我和notepad。您尝试启动的应用程序有什么特别之处吗?您使用的是完全合格的路径吗?它是否可以在不尝试最大化窗口的情况下工作? ShellExecute 返回什么?
  • 您不应该使用ShellExecute() 来启动可执行文件。请改用WinExec()CreateProcess()
  • @Olivier:不是 WinExec!
  • @AndreasRejbrand 是的,我知道它已被弃用,但至少它有效 ;-)
  • @AndreasRejbrand:我使用了 ShowMessage(SysErrorMessage(GetLastError));它说操作成功完成。 (数量为 42)。

标签: delphi shellexecute


【解决方案1】:

您正在使用WS_MAXIMIZE。该常量是 window s风格。

您应该使用SW_MAXIMIZE。这是ShowWindow 函数的标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多