Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
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


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Recensione HUAWEI FreeClip 2S: miglior q...
Bun, IA ovunque e riscrittura in Rust: i...
Una startup cinese va oltre i nanometri,...
CORSAIR Platform:4 e Platform:4 Elevate,...
UnipolMove diventa più caro: scat...
Il CEO di Palantir: l'intelligenza artif...
CXMT come un treno: quasi raggiunta la c...
Il CEO di Microsoft invita le imprese al...
Agent 64: Spies Never Die arriverà...
Windows 11, addio pubblicità e risultati...
Due volte più resistente dell'acc...
Il litio non si comporta come pensavamo:...
Top 15 offerte Amazon: dalla RTX 5070, p...
Google contro l'Europa: ecco perché la g...
Computer portatili, le offerte Amazon ch...
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:45.


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