0

如果我用鼠标单击“run-devserver.exe”文件,我在 Windows 10 x64 上使用 easy-php devserver 17 没有任何问题。

但在我的新项目中,我想从我的 Delphi 程序(RAD Studio 10.1 Berlin)运行 easy-php。

我使用这段代码:

ShellExecute(Handle, 'runas', 'c:\Program Files (x86)\EasyPHP-Devserver-17\run-devserver.exe', nil, nil, SW_SHOWNORMAL);

我收到此错误(我认为它是使用 MadExcept 3.0 创建的):

Aestan Try 菜单:Aestan Try 菜单中出现错误。

这个错误给了我一些选项,比如错误报告,重新启动应用程序,关闭应用程序!

我在另一篇文章中使用了一些技巧,例如:

WAMP Server V 2.5 图标为橙色,无响应且无菜单

ShellExecute 命令在 win10 中无法正常工作

但他们没有解决我的问题。

4

1 回答 1

0

问题解决了。当我使用此代码时,会出现错误:“目录名称无效”。

procedure TForm1.Button90Click(Sender: TObject);
var
  FileName, Parameters, Folder: string;
  sei: TShellExecuteInfo;
  Error: DWORD;
  OK: boolean;
begin
   FileName := 'C:\Program Files (x86)\EasyPHP-Devserver-17\run-devserver.exe';
   Parameters := '-lang rus';
   ZeroMemory(@sei, SizeOf(sei));
   sei.cbSize := SizeOf(sei);
   sei.lpFile := PChar(FileName);
   sei.lpParameters := PChar(Parameters);
   sei.lpDirectory := PChar(Folder);
   sei.nShow := SW_SHOWNORMAL;
   OK := ShellExecuteEx(@sei);
   if not OK then
   begin
      Error := GetLastError;
      ShowMessage('Error: ' + IntToStr(Error));
   end;

但是当我像这段代码一样编辑文件夹和文件名字符串时,一切正常。

Folder := 'C:\Program Files (x86)\EasyPHP-Devserver-17\';
FileName := Folder + 'run-devserver.exe';
于 2020-03-03T17:31:22.827 回答