2009-05-25 6 views
1

Je ne suis pas du tout expérimenté en matière de processus, mais ce que je suis en train de faire devrait être vraiment simple. Tout ce que je fais est lancer un processus comme celui-ci:Terminer un processus créé à l'aide de spawnv

int spawnId = spawnv(_P_NOWAIT,"wgetlocal.exe",my_env); 

Maintenant, ce que je veux faire est de tuer ce programme après un certain temps. Cependant, le spawnId retourné n'est pas ce dont j'ai besoin quand j'appelle par exemple taskkill /PID [number] /F.

J'ai essayé d'utiliser otherId2 = GetWindowThreadProcessId((HWND)spawnId,OUT otherId1) mais, encore une fois, ni otherId1 ni otherId2 donnent le PID correct.

Si quelqu'un pouvait m'aider avec son, je varierais heureusement. Regards, Roald

Répondre

1

From MSDN:

La valeur de retour à partir d'un ou asynchrone _spawnv_wspawnv (_P_NOWAIT ou _P_NOWAITO spécifié pour le mode) est la poignée du processus.

Lorsque vous avez un handle de processus, vous pouvez utiliser TerminateProcess.

Les types de poignées ne sont pas interchangeables. Vous ne pouvez pas dactylographier un handle de processus à HWND et l'avoir soudainement un handle de fenêtre.

Questions connexes