Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-07-2008, 17: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, 18: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, 08: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, 10: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, 10: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, 10: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, 11: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, 11: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, 11: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, 21: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 21:34.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2008, 08: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, 12: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, 13: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


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
GeForce RTX 5070 Ti: intervengono ASUS e...
Xiaomi Redmi Note 15 Pro subito giù di p...
SiFive adotta NVLink Fusion: RISC-V si i...
Amazon ha annunciato la fine di New Worl...
Umidità addio: deumidificatori el...
Konami festeggia 950 milioni di download...
Modelli gen AI sul tuo Raspberry Pi? Con...
Il CEO di Nothing, Carl Pei, avverte: i ...
Serie A, richieste di risarcimento agli ...
Ferrari e Shell fanno una scelta che nes...
Fanatec svela Podium DD: 25 Nm di coppia...
I modelli AI cinesi sono ormai a pochi m...
Netflix diventa la casa globale dei film...
Monitor gaming in forte sconto su Amazon...
500 miliardi di dollari e meno dazi: l'a...
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: 11:08.


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