Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258

    [C++] Apri con...

    Come è possibile far aprire dei file a un programma con Apri con?
    Mi spiego: ho fatto un programma che apre dei file di tipo testo e li legge. Per aprirli ho impostato la open dialog in modo opportuno e funziona. Ma se prendo uno di quei file e, dopo averlo trascinato sopra il programma (già in formato .exe) con il tasto destro del mouse, clicco su "Apri con" non mi succede niente. Più che altro questo mi serviva per associare quei file al programma...

  2. #2
    "Apri con..." è sempre una finestra molto lenta ad aprirsi, e finisce sempre in secondo piano. In ogni caso il modo corretto per impostare le associazioni dei file è da Risorse del computer->Strumenti->Opzioni cartella...->Tipi di file.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    No, quello lo sapevo già. Mi serviva sapere come si fa a fargli aprire un file associato. Perchè anche associandoli così il programma si avvia ma non carica il file lanciato. Come si fa a fargli aprire il file in automatico?

  4. #4
    Ovviamente devi fargli controllare i parametri passati sulla riga di comando...
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    E come si fa?

  6. #6
    Il nome del file da aprire ti viene passato di default come primo parametro sulla linea di comando; ora a seconda del tipo di main che hai nel tuo programma (main o WinMain) devi controllare un parametro diverso che viene passato alla tua applicazione (argv[1] per main, lpCmdLine per WinMain).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    Ok, funziona. Dato che non sapevo come usare la IpCmdLine (sono ancora alle prime armi con il C) ho trovato la funzione GetCommandLine() che funziona. Grazie mille

  8. #8
    Guarda che lpCmdLine ti restituisce la stessa cosa di GetCommandLine()...
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    Però non sapevo come metterlo nel codice

    Ho provato con "edt_Chiave->Text = IpCmdLine", con "edt_Chiave->Text = IpCmdLine()" o, dato che ho letto che è un parametro di WinMain, anche con "edt_Chiave->Text = WinMain->IpCmdLine". Invece, dato che GetCommandLine() è una funzione, mi è bastato scrivere "edt_Chiave->Text = GetCommandLine()" et voilà...

    Lo so, non so molto, però lavoro con il C da 4mesi...

  10. #10
    Essendo un parametro non ci devi mettere le parentesi dopo... e soprattutto non è IpCmdLine, ma lpCmdLine (la prima lettera è una L minuscola, non una I maiuscola).
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.