CreateProcess - uruchamianie programu w tle

0

Witam...

Czy jest możliwość za pomocą w/w funkcji uruchomienie programu w tle (tak by nie był widoczny dla użytkownika np. w postaci wyskakującego okienka wiersza poleceń)??

Wiem, ze możnaby jeszcze sprobować innej funkcji - ShellExecute - ale coś mi nie chce uruchomić mojego execa...

Stąd też kolejne pytanie

Czy parametry lpCommandLine i lpCurrentDirectory z funkcji CreateProcess, to odpowiedniki parametrów lpFile i lpDirectory z ShellExecute??

BOOL CreateProcess(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);

HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);

0
drummer napisał(a)

Czy jest możliwość za pomocą w/w funkcji uruchomienie programu w tle

tak, jak najbardziej

drummer napisał(a)

Czy parametry lpCommandLine i lpCurrentDirectory z funkcji CreateProcess, to odpowiedniki parametrów lpFile i lpDirectory z ShellExecute??

lpCommandLine = linia polecen jaka utworzony proces ma wykonac. w szzcegolnosci np. moze to byc "c:\windows\system32\uninstall.exe"
lpCurrentDirectory = sciezka do katalogu z poziomu ktorego ta w/w linia polecen ma zostac wykonana. jesli nie wiesz o co chodzi, czas sobie przypomniec co nie co o konsoli.. konkretnie - pojecie 'katalog biezacy'

0

W sumie to już sobie przerobiłem program i używam funkcji ShellExecute z ostatnim parametrem SW_HIDE (wcześniej używałem CreateProcess, ale nie umiałem ukryć wykonywanego programu). Ale chętnie bym sie dowiedział jak taki efekt uzyskać za pomocą funkcji CreateProcess...

0

Przykładowy kod:

STARTUPINFO si;
memset(si, 0, sizeof(si));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
CreateProcess(..., ..., ..., ..., ..., ..., ..., ..., &si, ...);
0

dzięx

1 użytkowników online, w tym zalogowanych: 0, gości: 1