Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-07-2007, 07:34   #1
deggungombo
Senior Member
 
L'Avatar di deggungombo
 
Iscritto dal: Sep 2003
Messaggi: 1938
[C++] ShellExecute

ciao a tutti,
devo realizzare un codice che sia in grado di lanciare e terminare un programma non scritto da me (dovrà girare per 5 minuti, ma questo è un problema successivo).

ho letto in giro, e mi sembra d'aver capito, che sia possibile lanciare un applicazione usando ShellExecute.
mi sto allenando con degli esempi trovati in rete ma non riesco assolutamente a compilare nulla di quanto ho trovato (uso dev c++).

non sono un programmatore esperto, ho mosso i miei primi passi con c++ solo 2 mesi fa, quindi non abbiate paura di essere banali nelle vostre spiegazioni.


sto provando il seguente esempio (aprire una pagina web) ma non c'è verso di compilare. dove sbaglio?
Codice:
#include <iostream>
#include <windows.h>
#include <shellapi.h>
using namespace std;

int main ()

{

ShellExecute ( Handle,"open","http://www.google.com",NULL,NULL,SW_NORMAL);
  
return 0;
    }
ciao e grazie
__________________
Now that you've found it, it's gone. Now that you feel it, you don't. You've gone off the rails.
deggungombo è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2007, 08:51   #2
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
E l'errore è?
Handle da quanto vedo non è definito...
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2007, 08:53   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
anzichè handle puoi mettere 0
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2007, 09:47   #4
deggungombo
Senior Member
 
L'Avatar di deggungombo
 
Iscritto dal: Sep 2003
Messaggi: 1938
vi amo!!!

è brutto doversi mettere a fare qualcosa senza avere documentazione e le basi adeguate, cmq sono contento di imparare nuove cose.

ok, ho sostituito l'apertura della pagina web con il percorso di un programma scritto da terze parti. supponiamo che il programma, una volta lanciato, giri indefinitamente per sempre.
come lo termino? (anche brutalmente)

ecco l'idea che sto usando per far girare ciao.exe per un tempo definito dall'utente, ma mi manca il comando per terminare il programma. (ho trovato questa discussione ma non riesco a capire come si usa system())

Codice:
#include <stdio.h>
#include <time.h>
#include <iostream>
//#include <stdlib.h>
#include <windows.h>
#include <shellapi.h>

using namespace std;

void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLOCKS_PER_SEC ;
  while (clock() < endwait) {}
}

int main ()
{
 int n,i;
cout<<"How long do you want to run Ciao.exe? (seconds)"<<endl;
cin>>n;


ShellExecute ( 0,"open","c:\\ciao.exe",NULL,NULL,SW_NORMAL);


printf ("Starting countdown...\n");
  for (i=n; i>0; i--)
  {
    printf ("%d\n",i);
    wait (1);
  }
  printf ("Exit\n");
  

//dovrei inserire qui il comando per terminare ciao.exe 

  return 0;
}
grazie
__________________
Now that you've found it, it's gone. Now that you feel it, you don't. You've gone off the rails.

Ultima modifica di deggungombo : 11-07-2007 alle 10:01.
deggungombo è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2007, 13:19   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Ecco un esempio:
Codice:
#include <windows.h>
#include <stdio.h>

int main (void)
{
    SHELLEXECUTEINFO shexi;
    int iSeconds = 30;
    DWORD dwRet;

    ZeroMemory (&shexi, sizeof (shexi));

    shexi.cbSize = sizeof (shexi);
    shexi.fMask = SEE_MASK_NOCLOSEPROCESS;
    shexi.lpVerb = "open";
    shexi.lpFile = "C:\\pippo.exe";
    shexi.nShow = SW_NORMAL;

    if (ShellExecuteEx (&shexi))
    {
        do {
            printf ("Attesa %d secondi\n", iSeconds);

            dwRet = WaitForSingleObject (shexi.hProcess, 1000);     // Timeout 1 secondo

            if (dwRet == WAIT_TIMEOUT)
                iSeconds--;
        } while (dwRet != WAIT_OBJECT_0 && iSeconds > 0);
                
        if (dwRet == WAIT_TIMEOUT)
            TerminateProcess (shexi.hProcess, 0);

        printf ("Terminato");

        CloseHandle (shexi.hProcess);
    }

    return 0;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 03:19   #6
deggungombo
Senior Member
 
L'Avatar di deggungombo
 
Iscritto dal: Sep 2003
Messaggi: 1938
grazie mille, anche se ancora non l'ho capito benissmo funziona alla perfezione
era proprio quello che cercavo.

giusto per sfizio sapete se esiste un comando per terminare il processo che possa aggiungere al codice che ho scritto nel mio post precedente?


grazie
__________________
Now that you've found it, it's gone. Now that you feel it, you don't. You've gone off the rails.

Ultima modifica di deggungombo : 12-07-2007 alle 03:22.
deggungombo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Sono 32, di cui 6 nuove, le offerte Amaz...
Rinnovo dei coupon Amazon nascosti: ecco...
Corsair aggiorna la confezione delle RAM...
Ecco tutti i robot aspirapolvere in offe...
Tachyum: dal processore universale alle ...
L'eVTOL tedesco per missioni mediche e m...
Zscaler Threat Report 2026: l'adozione d...
Claude AI minaccia omicidi e ricatti qua...
Dentro la gara: a Milano Cortina 2026 i ...
Samsung Display presenta QD-OLED Penta T...
KONAMI torna con "Silent Hill: Town...
Rende il citofono smart a 44,99€: Ring I...
ThunderX3 XTC, la sedia da ufficio che s...
Mercy, Mission Impossible, Aronofsky: il...
Project Windless: il nuovo action in esc...
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: 10:52.


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