Dove memorizzare le impostazioni condivise tre più programmi?

di il
17 risposte

Dove memorizzare le impostazioni condivise tre più programmi?

Buongiorno a tutti,
vorrei un consiglio su come organizzare questa idea:
voglio realizzare due programmi:
Il primo programma permette di editare una lista di indirizzi IP sul computer.
Il secondo programma gira in background, con una iconcina nella system tray, e periodicamente (una volta al minuto) sposta dei file in FTP dai dispositivi con IP nella lista creata nel primo programma.
I miei dubbi sono questi:
dove dovrei salvare la lista degli indirizzi IP?
Non mi piace l'idea di salvare un file, per esempio, in C:\ perché è brutto e ho notato che la tendenza generale del moderni sistemi è isolare le applicazioni in sandbox.
Potrei salvare nel registro di Windows ma mi sembra di capire che sia un po' un metodo vecchio come me e penso che così mi chiuderei la possibilità di compilare per altre piattaforme.
Avete dei consigli?
Grazie
Marco Rossi

17 Risposte

  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Ehh? Sandbox??
    Comunque no per registro ovviamente.
    File di testo o addirittura database
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    E se non fai due programmi?
    Il compito di invio su FTP lo metti in una BackgroundWorker Class... e ogni volta che la lanci gli passi la lista.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    "dove dovrei salvare la lista degli indirizzi IP?" potresti crearti un file di testo nel primo disco logico della tua macchina magari con un path tipo guid ,
    per recuperare i dischi logici della macchina https://docs.microsoft.com/en-us/dotnet/api/system.io.driveinfo.getdrives?redirectedfrom=MSDN&view=netcore-3.1#System_IO_DriveInfo_GetDrives
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Rubik ha scritto:


    E se non fai due programmi?
    Il compito di invio su FTP lo metti in una BackgroundWorker Class...
    Grazie dell'attenzione, ho omesso un po' di informazioni per evitare di scrivere un messaggio troppo lungo.
    Non posso usare un solo programma per due motivi:
    il "programma uno" esiste ed è in vb6, è molto complesso e non voglio più lavorarci, aggiungerei solo la parte per salvare la lista che sarà accessibile dal "programma due".
    il "programma uno" può essere eseguito in più istanze ma la lista è comune a tutte le istanze (attualmente viene salvata nel registro di windows in "Computer\HKEY_CURRENT_USER\Software\VB and VBA Program Settings\...". Il programma due potrebbe leggere questa chiave del registro ma, come dicevo, vorrei capire qual'è il metodo "più moderno" per condividere informazioni tra due applicazioni diverse ma fatte dallo stesso autore.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Se con vb6 puoi recuperare la lista dei dischi logici potresti forse seguire quanto accennavo senza scrivere un valore hard coded nei programmi ovvero primodiscologico/guid/nomefile ,direi che guid si può anche omettere
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    surfernet ha scritto:


    "dove dovrei salvare la lista degli indirizzi IP?" potresti crearti un file di testo nel primo disco logico della tua macchina magari con un path tipo guid ,
    per recuperare i dischi logici della macchina https://docs.microsoft.com/en-us/dotnet/api/system.io.driveinfo.getdrives?redirectedfrom=MSDN&view=netcore-3.1#System_IO_DriveInfo_GetDrives
    Ciao, grazie per la risposta,
    ho paura che salvare un file sul disco, come mi consigli, non è fattibile con sistemi moderni (per esempio nelle universal app).
    Quando avevo provato a scrivere un programmino in windows 10 iot mi ero subito accorto che non potevo accedere a tutto il disco del computer. Potevo accedere solo a cartelle misteriose nascoste chissà dove...
    Inoltre creare un file o una cartella sul disco dell'utente, che nessuno sa cosa sia, e che resterà anche disinstallando il programma, non mi piace.
    (so d'essere spesso un po' troppo pignolo).
    Ti ringrazio ancora della risposta.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    surfernet ha scritto:


    Se con vb6 puoi recuperare la lista dei dischi logici potresti forse seguire quanto accennavo senza scrivere un valore hard coded nei programmi ovvero primodiscologico/guid/nomefile ,direi che guid si può anche omettere
    Che tu sappia, non c'è un posto "ufficiale" dove creare file condivisi tra applicazioni diverse?
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Potresti fare un programmino che una volta al giorno controlla se esistono gli exe dei tuoi due programmi se così non è cancella il file,avresti un programmino che non sarebbe più utile ma eviteresti di lasciare un file senza più scopo sulla macchina che effettivamente è un pò brutto
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    "Che tu sappia, non c'è un posto "ufficiale" dove creare file condivisi tra applicazioni diverse?" che io sappia no ma non ci giurerei che non esista
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    +m2+ ha scritto:


    Ehh? Sandbox??
    Comunque no per registro ovviamente.
    File di testo o addirittura database
    Ciao, grazie della risposta,
    con sandbox mi riferisco ad una mia esperienza con un programma windows 10 iot per raspberry pi. Questo programma doveva essere un visualizzatore di file ma subito ho notato che non c'era modo di accedere alle varie cartelle del disco. Informandomi avevo capito che il programma aveva il suo orticello e poteva accedere solo a quello, disinstallando l'app il sistema avrebbe elimitato tutto l'orticello dell'app stessa. ricordo si parlasse di sandbox ma forse mi sbaglio.
    Per ora la soluzione del file sembra la più diffusa.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Funziona VB6 su Windows 10? VB6 è bello vecchiotto, se mantieni quello puoi pure farti andar bene file o registri.
    Sul Raspberry immagino che comunque i socket siano disponibili, anche in loopback su 127.0.0.1
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Weierstrass ha scritto:


    Funziona VB6 su Windows 10? VB6 è bello vecchiotto, se mantieni quello puoi pure farti andar bene file o registri.
    Sul Raspberry immagino che comunque i socket siano disponibili, anche in loopback su 127.0.0.1
    Sì, i programmi scritti un VB6 funzionano anche su Windows 10. L'ambiente VB6 lo uso su una macchina virtuale con Windows XP.
    Hai ragione sul primo punto ma vorrei fare qualcosa di più moderno, anche perché ho intenzione di riusare il "programma due" anche in futuro.
    Sì, in .net core sono disponibili i socket.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Non hai molte alternative, puoi mettere gli eseguibili in un'unica cartella e salvare un file nello stesso percorso.
    Il percorso dell'esegubile in VB6 lo ricavi con: App.Path, e in VB .Net con Application.StartupPath.

    Alla disinstallazione cancelli cartella e contenuto.

    La cartella di default per depositare configurazioni e dati di un'app per un utente è: C:\Users\NomeUtente\AppData\Local\NomeApp
    La cartella di default per depositare configurazioni e dati di un'app per tutti gli utenti è: C:\Users\All Users\NomeApp
    Sempre se Win è installato in C:\

    Alla disinstallazione deve essere cancellata.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    XRubik : l'eseguibile vb6 può essere spostato o deve restare dove l'ha messo l'installazione? ,grazie
Devi accedere o registrarti per scrivere nel forum
17 risposte