Haj. Jest świetnie znany kawałek kodu z wywołaniem jakiegoś programu w kontekście cmd.exe:
CreateProcess(PChar(GetEnvVarValue('systemroot') + '\system32\cmd.exe'), PChar('/C "net view"'), nil, nil, TRUE, 0, nil, 'c:\', info, process) then ...
Zastanawiam się, dlaczego nie chce on działać, gdy zastosuje się następujące rozwiązanie:
CreateProcess(PChar(GetEnvVarValue('systemroot') + '\system32\net.exe'), 'view', nil, nil, TRUE, 0, nil, 'c:\', info, process) then ...
i zamiast wyświetlenia listy hostów w grupie roboczej, pipe zwraca litanię o tym, z jakimi parametrami mam wywoływać net.exe. Ominięcie cmd wydaje się bardziej eleganckie i szybkie, ale dlaczego bez niego net.exe nie dostaje (nie widzi?) parametru, np. view, choć próbowałem go wpisać na różne sposoby, w cudzysłowie, itp.