Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-07-2008, 16:00   #1
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
[c++] l'api killprocess

salve a tutti
ho trovato in un programma in c++ una cosa del genere:

killprocess("programma.exe");

solo che sono andato sul sito msdn e mi dice che la killprocess accetta come parametro di ingresso solo il pid e non il nome del programma.
come mai?
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 26-07-2008, 17:39   #2
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Leggi bene il codice ... probabilmente c'e' anche il sorgente di quella funzione.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 07:45   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da xciaoatuttix Guarda i messaggi
salve a tutti
ho trovato in un programma in c++ una cosa del genere:

killprocess("programma.exe");

solo che sono andato sul sito msdn e mi dice che la killprocess accetta come parametro di ingresso solo il pid e non il nome del programma.
come mai?
Sicuramente farà l'elenco dei processi attivi e prenderà il PID corrispondente al programma fornito.
Non è la killprocess delle Win32
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 09:23   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Non è la killprocess delle Win32
anche perché non esiste nessuna killprocess in Win32
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 09:24   #5
eraser
Senior Member
 
L'Avatar di eraser
 
Iscritto dal: Nov 2001
Città: Bastia Umbra (PG)
Messaggi: 6395
Quote:
Originariamente inviato da 71104 Guarda i messaggi
anche perché non esiste nessuna killprocess in Win32
__________________
:: Il miglior argomento contro la democrazia è una conversazione di cinque minuti con l'elettore medio ::
eraser è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 09:57   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Eh già è CloseProcess
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 10:07   #7
eraser
Senior Member
 
L'Avatar di eraser
 
Iscritto dal: Nov 2001
Città: Bastia Umbra (PG)
Messaggi: 6395
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Eh già è CloseProcess
Forse è TerminateProcess
__________________
:: Il miglior argomento contro la democrazia è una conversazione di cinque minuti con l'elettore medio ::
eraser è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 10:43   #8
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Eh già è CloseProcess
Errore ... ma piano piano ci arrivi ... magari se dai un'occhiata a MSDN e' meglio ...
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 10:47   #9
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da lorenzo001 Guarda i messaggi
Errore ... ma piano piano ci arrivi ... magari se dai un'occhiata a MSDN e' meglio ...
Eh il brutto di usare codice scritto tanto tempo fa, ormai mi ero abituato al mio CloseProcess.
bisogna aprire un handle al processo e usare teminateprocess.
Arrrgh

Codice:
bool CloseProcess(DWORD pid)
{
	HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS,false,pid);
	if (!TerminateProcess(processHandle,0))
	{
		//error = ::GetLastError();
		return false;
	}
	CloseHandle(processHandle);
	return true;
}
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 20:32   #10
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Codice:
bool CloseProcess(DWORD pid)
{
	HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS,false,pid);
	if (!TerminateProcess(processHandle,0))
	{
		//error = ::GetLastError();
		return false;
	}
	CloseHandle(processHandle);
	return true;
}
pessima: fallisce nel caso in cui tu abbia PROCESS_TERMINATE ma non possa avere tutti gli altri permessi. poi mi piace che chiami pure la GetLastError, come se non sapessi cos'è che è andato storto

ah, tra l'altro l'uso diretto del tipo bool è sconsigliato; meglio BOOL.

edit - e quasi dimenticavo, hai un leak: se fallisce la TerminateProcess non chiudi l'HANDLE. mai visti così tanti errori in così poche righe

edit2 - ciliegina sulla torta, l'inesattezza semantica: al secondo parametro della OpenProcess hai passato un bool, mentre lei voleva un BOOL

Ultima modifica di 71104 : 28-07-2008 alle 20:34.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 07:36   #11
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 71104 Guarda i messaggi
pessima: fallisce nel caso in cui tu abbia PROCESS_TERMINATE ma non possa avere tutti gli altri permessi. poi mi piace che chiami pure la GetLastError, come se non sapessi cos'è che è andato storto

ah, tra l'altro l'uso diretto del tipo bool è sconsigliato; meglio BOOL.

edit - e quasi dimenticavo, hai un leak: se fallisce la TerminateProcess non chiudi l'HANDLE. mai visti così tanti errori in così poche righe

edit2 - ciliegina sulla torta, l'inesattezza semantica: al secondo parametro della OpenProcess hai passato un bool, mentre lei voleva un BOOL
Così dovrebbe andare meglio.
Codice:
bool CloseProcess(DWORD pid)
{
	HANDLE processHandle = OpenProcess(PROCESS_TERMINATE,FALSE,pid);
	BOOL res = TerminateProcess(processHandle,0);
        CloseHandle(processHandle);
        return res == TRUE;
}
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 11:21   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
che differenza c'è tra bool e BOOL e perchè è meglio il secondo?
l'ho eloquentemente spiegato tempo fa su Usenet:

Quote:
> Evita di dire cazzate, per cortesia. BOOL è l'ennesima stronzata
> Microsoft fuori standard. Il C++ prevede il tipo bool che è benissimo
> mappabile, a livello implementativo del compilatore specifico, su ciò
> che più aggrada al processore e alla tua testolina.


l'uso di tale tipo è sconsigliato sui compilatori che ne definiscono la
dimensione a 1 byte quando le dimensioni di allineamento della piattaforma
ammontano a 4. è sconsigliato su molti compilatori per Win32, tra cui il
CL di Microsoft.

vecchie versioni di tale compilatore ponevano accortamente sizeof(bool) a
4, ma la cosa è cambiata suppongo per ragioni di compatibilità con altri
compilatori che invece già lo ponevano a 1. ciò ha reso necessario la
definizione di BOOL non come bool ma come int o qualcosa del genere. il
fatto che in Win32 si usi una nomenclatura ben precisa che astrae dal
linguaggio è un'ottima strategia che permette a Microsoft di risolvere
situazioni come questa, anche se tu la trovi l'"ennesima stronzata fuori
standard": se Win32 usasse bool Microsoft avrebbe avuto un bel problema
nel cambiare la dimensione di quel tipo.


mi immagino la scena di quando è stato fatto tale cambiamento: il classico
programmatore antimicrosoftiano che però è costretto ad usare VC++ per
lavoro sta facendo la sua cagata di programma che ritiene un capolavoro;
il programmatore è un anticonvenzionale e lotta per Linux e per le sue
idee, combatte idealmente il monopolio di "mamma M$" (scritto abbreviato e
col dollaro) scrivendo il commento "// #exclude <windows.h>" accanto
all'include ed usando giustappunto bool in quanto gli standard non di
Microsoft, come il C++, gli piacciono di più di quelli di Microsoft. il
programmatore si trasferisce, per necessità ma con disgusto, sulla
versione nuova fiammante di VC++ e nota il cambiamento nonché i problemi
di compatibilità con le sue DLL. prima si lamenta che Microsoft è la
solita stronza che non capisce un cazzo di retrocompatibilità, e poi ci da
giù pesantemente di Trova-Sostituisci. infine va da bravo a scusarsi col
cliente che un botto di DLL vanno sostituite. ma che goduria, ma come mi
sollazzano gli antimicrosoftiani. scusa la digressione.
post originale:
http://groups.google.com/group/it.co...9?dmode=source
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 12:04   #13
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
[OT]
Quella dello sparare piuttosto che prendere la mira è una chicca
[OT]
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v