|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
[C] Funzione Kill in Windows XP
Salve, quando voglio eseguire un programma da un programma in C utilizzo la funzione system(), volevo chiedervi se esiste una funzione che "uccide" il processo, l'equivalente di kill() in Unix. Inoltre, esiste l'equivalente di exec, la funzione system mi sembta un pocp riduttiva. Grazie.
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Guarda se mi tocca dare supporto anche per la concorrenza...
http://msdn.microsoft.com/library/de...ateprocess.asp http://msdn.microsoft.com/library/de..._a_process.asp
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
TerminateProcess; devi avere un handle aperto del processo target coi permessi necessari.
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Abbiate pazienza, potete farmi un esempio? Ho usato gli header <w32api.h>, <Winbase.h> ,<Windows.h>; ma Visual C++ mi dà questo errore: fatal error C1083: Cannot open include file: 'w32api.h': No such file or directory
Error executing cl.exe. Se tolgo l'header <w32api.h>, sono rilevati 79 errori! Datemi una mano. Grazie mille
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
infatti l'header w32api.h non esiste, non so da dove tu l'abbia preso... devi includere solamente windows.h
windows.h non provoca errori se abiliti le estensioni Microsoft del C (abilitate di default); se ci sono errori probabilmente dipendono dal resto del codice |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Ammettiamo solo che volessi far partire solo il Notepad potresti scrivermi la sintassi corretta della funzione?
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
per avviarlo in Visual C++ esistono diversi modi: Codice:
system("notepad.exe");
Codice:
ShellExecute(NULL, TEXT("open"), TEXT("notepad.exe"), NULL, NULL, SW_SHOW);
Codice:
WinExec("notepad.exe", SW_SHOW);
Codice:
STARTUPINFO si = {
sizeof(STARTUPINFO)
};
PROCESS_INFORMATION pi;
CreateProcess(TEXT("notepad.exe"), NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Quote:
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Sono riuscito far funzionare CreateProcess, ho tolto (TEXT) dai parametri, ora vorrei usare TerminateProcess, uno dei parametri è l' handle del processo, come faccio a rilevare l'handle del processo in esecuzione?
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Ok grazie per gli aiuti ho capito
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:16.



















