Registriert seit: 16. Jan 2005
448 Beiträge
|
AW: wie ruft man den WSL auf windows 10 in Delphi auf?
14. Apr 2024, 19:09
Kann mir sagen wieso ich bei dieser prc kein Zugriffsverletzung bekomme und beim anderen Schon?
Delphi-Quellcode:
procedure tform1.RunAWKCommandInWSL(cmd: string);
var
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
result: boolean;
begin
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
StartupInfo.cb := SizeOf(TStartupInfo);
try
Result := CreateProcess( nil, PChar(' wsl ' + cmd), nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo);
if Result then
begin
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
end
else
begin
// Fehler beim Starten des Prozesses
//ShowMessage('Fehler beim Starten des WSL-Prozesses');
WriteLOgMemo(msg_window, run_mode, clRed, format(' Fehler beim Starten des WSL-Prozesses cmd: %s',[cmd]));
end;
except
on E : Exception do
WriteLOgMemo(msg_window, run_mode, clRed, format(' Exception-error: %s Call: %s',[e. message,format(' CreateProcess(nil, Pchar(%s) , nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo) ',[cmd])]));
end;
end;
procedure tform1.wslcmd();
begin
RunAWKCommandInWSL(' find . - type f -name socpus*.ris -exec cat {} + > ../bigmergedscopusfiles.ris');
end;
|
|
Zitat
|