Zabicie uruchomionego procesu

0

Witam szanownych forumowiczów!

Za pomocą ShellExecute uruchamiam zewnętrzną aplikację (serwer MySQL, ale to nieistotne):

uchwyt := ShellExecute(self.Handle, nil, 'data\bin\mysqld-nt.exe', '--standalone', nil, SW_NORMAL);

Pytanie: Jak zamknąć tę aplikację / zabić proces? Eksperymentowałem z sendmessage / postmessage...

SendNotifyMessage(uchwyt, WM_CLOSE, 0, 0);

...jednak nic nie działa.

Z góry dziękuję za jakiekolwiek wskazówki.

Pozdrawiam,
Creep

0

Spróbuj WM_QUIT.

ShellExecute MSDN napisał(a)

Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an int and compare it with the value 32 or one of the error codes below.

0
<quote=szczawik>Spróbuj WM_QUIT.<quote> Niestety, nie działa. /Creep
0

A zadbałeś o właściwy uchwyt (czy czytałeś powyższy mój cytat z MSDN?)
Polecam użyć może CreateProcess zamiast ShellExecute.

0

serwer mysql jest serwisem, a nie zwykła aplikacją. poszukaj sobie kodu do zatrzymywania usług/serwisów.

0
ŁF napisał(a)

serwer mysql jest serwisem, a nie zwykła aplikacją. poszukaj sobie kodu do zatrzymywania usług/serwisów.

wiesz, ctrl + alt + del na niego dziala [rotfl] Wiec autorowi chyba o to chodzi :]

// no wiesz, ale tak brutalnie zabijać, kiedy można zatrzymać?... - Ł

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