Username
Password

Programmazione

Supporto per Linguaggi di Programmazione
Rispondi Invia Nuova Discussione 
Thursday, 7 June 2012, 10:05
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Re: C#: controllo file e apertura di un altro se inesistente


in registro c'è
e c# non ne vuole sapere
    Rispondi Citando Rispondi
Thursday, 7 June 2012, 10:12
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

che sia un problema del visual c#?!?
    Rispondi Citando Rispondi
Thursday, 7 June 2012, 10:36
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Il test di un programma può essere usato per mostrare la presenza di bug, ma mai per mostrare la loro assenza. (Edsger Wybe Dijkstra)
__________________
La gente non sa quello che vuole, finché non glielo fai capire tu. (Steven Jobs)
    Rispondi Citando Rispondi
Thursday, 7 June 2012, 12:10
Neles
 Davide P.
 Militante
 
L'avatar di  Neles
 
 Località: Genoa
 Età: 45
 Messaggi: 3,577

Togliamo la Debug.WriteLine, che magari porta confusione e basta:

che succede se metti delle righe tipo
Codice:
MessageBox.Show("Sono prima dell'if, controllo che esista chrome in " + @"%USERPROFILE%\Impostazioni locali\Dati applicazioni\Google\Chrome\Application\chrome.exe"); if (File.Exists(@"%USERPROFILE%\Impostazioni locali\Dati applicazioni\Google\Chrome\Application\chrome.exe")) { MessageBox.Show("C'è Chrome!"); System.Diagnostics.Process.Start("chrome.exe"); } else if (File.Exists(@"C:\Programmi\Mozilla Firefox\firefox.exe")) { MessageBox.Show("C'è Firefox!"); System.Diagnostics.Process.Start("firefox.exe"); } else if (File.Exists(@"C:\Programmi\Internet Explorer\iexplore.exe")) { MessageBox.Show("C'è IE!"); System.Diagnostics.Process.Start("iexplore.exe"); } else { MessageBox.Show("Non ho trovato nulla!"); }
quali MessageBox ti compaiono?
__________________
There is no dark side of the Moon really... matter of fact it's all dark.

Chuck Norris non bestemmia, è Dio che compie una metamorfosi per accontentarlo
    Rispondi Citando Rispondi
Commenti a questo messaggio
  RomeoKnight: Sono d'accordo
Thursday, 7 June 2012, 17:17
C0m4nch3
 Staff
 
L'avatar di  C0m4nch3
 
 Località: Girifalco Pianeta
 Messaggi: 6,589

Non si può semplicemente leggere il conentuto di:

HKEY_CLASSES_ROOT\http\shell\open\command
__________________
Si ma un pò più a destra Contessa Serbelloni Mazzanti Vien Dal Mare
    Rispondi Citando Rispondi
Commenti a questo messaggio
  RomeoKnight: Po S, Al so no
  Neles: Interessante
Tuesday, 19 June 2012, 19:09
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

L'unica MessageBox visualizzata è quella di IE8
__________________
La gente non sa quello che vuole, finché non glielo fai capire tu. (Steven Jobs)
    Rispondi Citando Rispondi
Tuesday, 19 June 2012, 19:12
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Mi risulta "C:\Documents and Settings\**************\Impostazioni locali\Dati applicazioni\Google\Chrome\Application\chrome.exe"
__________________
La gente non sa quello che vuole, finché non glielo fai capire tu. (Steven Jobs)
    Rispondi Citando Rispondi
Wednesday, 20 June 2012, 07:45
Neles
 Davide P.
 Militante
 
L'avatar di  Neles
 
 Località: Genoa
 Età: 45
 Messaggi: 3,577

Ok, ti resta da capire come mai non trovi né Chrome né Firefox, ovvero perché i rispettivi File.Exists(...) ti diano false.
__________________
There is no dark side of the Moon really... matter of fact it's all dark.

Chuck Norris non bestemmia, è Dio che compie una metamorfosi per accontentarlo
    Rispondi Citando Rispondi
Commenti a questo messaggio
  Foxes: 3000!!!!!!!!!
Wednesday, 20 June 2012, 10:02
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Google Chrome è installato ma non me lo avvia.
Mozilla Firefox non è installato e se ci riesce povero me
Internet Explorer è preinstallato nel PC

AIUTO!!!
__________________
La gente non sa quello che vuole, finché non glielo fai capire tu. (Steven Jobs)
    Rispondi Citando Rispondi
Wednesday, 20 June 2012, 10:06
Neles
 Davide P.
 Militante
 
L'avatar di  Neles
 
 Località: Genoa
 Età: 45
 Messaggi: 3,577

Domande:
  1. se in una finestra dos scrivi "C:\Documents and Settings\**************\Impostazioni locali\Dati applicazioni\Google\Chrome\Application\chrome.exe" Chrome parte?
  2. l'utente con cui fai girare l'applicativo C# è **************? Perché se magari è un altro non riesce ad accedere a quella cartella...
__________________
There is no dark side of the Moon really... matter of fact it's all dark.

Chuck Norris non bestemmia, è Dio che compie una metamorfosi per accontentarlo
    Rispondi Citando Rispondi
Wednesday, 20 June 2012, 14:33
Jarod
 Giancarlo
 Staff
 
L'avatar di  Jarod
 
 Località: Karalis
 Età: 57
 Messaggi: 4,520

Quote:
Originariamente inviato da zagocero27
Come posso impostare il costruttore in modo da aprire un file se un'altro file non esiste?

Ad esempio: voglio fare un menù con una lista di programmi (lettore multimediale, browser web, posta elettronica,....) dove imposto nel primo esempio che apre di default wmplayer.exe e se non c'è apre vlc.exe e se non esiste nemmeno vlc chiede all'utente che programma aprire


AIUTO
Scusa ma perché non aprire direttamente il programma di default impostato su quel client?

Ogni utente utilizza il browser o il lettore multimediale che più gli aggrada, perché li vuoi costringere ad aprire per forza il programma che dici tu?

Il percorso e il nome del browser di default li puoi andare a leggere direttamente dal registry così come il nome del lettore multimediale.

Per il browser un buon punto di partenza potrebbe essere questa chiave di registro:

Codice:
HKEY_CURRENT_USER\Software\Classes\http\shell\open\command

Una cosa di questo tipo non andrebbe bene?

Codice PHP:
public static void OpenWebsite(string url)
{
    
System.Diagnostics.Process.Start(GetDefaultBrowserPath(), url);
}

private static string GetDefaultBrowserPath()
{
    
string key = @"http\shell\open\command";
    
RegistryKey registryKey =
    
Registry.ClassesRoot.OpenSubKey(key, false);
    return ((string)
registryKey.GetValue(null, null)).Split('"')[1];
}
__________________
Meglio tacere e passare per idiota che parlare e dissipare ogni dubbio. (Abraham Lincoln)
    Rispondi Citando Rispondi
Commenti a questo messaggio
  Neles: Interessante
  C0m4nch3: mi ignorate!
  zagocero27: Grazie, molto utile
Sunday, 15 July 2012, 13:10
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Quote:
Originariamente inviato da Jarod
Una cosa di questo tipo non andrebbe bene?

Codice PHP:
public static void OpenWebsite(string url)
{
    
System.Diagnostics.Process.Start(GetDefaultBrowserPath(), url);
}

private static string GetDefaultBrowserPath()
{
    
string key = @"http\shell\open\command";
    
RegistryKey registryKey =
    
Registry.ClassesRoot.OpenSubKey(key, false);
    return ((string)
registryKey.GetValue(null, null)).Split('"')[1];
}

Sì, sì, va benissimo.

GRAZIE MILLE!!

Missione compiuta.
    Rispondi Citando Rispondi
Commenti a questo messaggio
  Neles: Yabadabaduu!
Tuesday, 7 August 2012, 12:36
zagocero27
 Enrico Z.
 Utente Interessato
 
L'avatar di  zagocero27
 
 Messaggi: 60

Quote:
Originariamente inviato da Neles
l'utente con cui fai girare l'applicativo C# è **************? Perché se magari è un altro non riesce ad accedere a quella cartella...



************** lo uso sempre per mascherare i nomi utente
__________________
La gente non sa quello che vuole, finché non glielo fai capire tu. (Steven Jobs)
    Rispondi Citando Rispondi
Rispondi Invia Nuova Discussione


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 

Thread già visto da:
C0m4nch3, SilBerg, SkidArh+, RomeoKnight, SanK, foul64, Clipboard, Duilio, Carson, palin, lentz, SatRider, Foxes, ale82x, Neles, Attilio, zagocero27
Strumenti Discussione Cerca in questa Discussione
Cerca in questa Discussione:

Ricerca Avanzata
Modalità Visualizzazione

top Regole di scrittura
Tu non puoi inserire messaggi
Tu non puoi rispondere ai messaggi
Tu non puoi inviare allegati
Tu non puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Attivo

Se hai problemi, contattaci


Visite Totali Posts: 81.269.092
Tutti gli Orari sono GMT +1. Attualmente sono le 07:41.

iGroup Black
Powered by vBulletin Versione 3.5.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: Enzo-Staff-VbulletinItalia.it
 
2000, 2012 © Visiva Group