如果我在“ 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尝试菜单:Aestan尝试菜单中发生错误。
此错误为我提供了一些选项,例如错误报告,重新启动应用程序,关闭应用程序!
我在其他类似的文章中使用了一些技巧:
WAMP Server V 2.5 icon is orange,does not respond and no menu
ShellExecute Command doesn't work properly in win10
但是他们没有解决我的问题。
问题已解决。我不知道真正发生了什么,但是它有效!当我使用此代码时,错误出现:“目录名称无效”。
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';
我认为第一代码和第二代码相同,但仅第二代码有效。