none
Dosya Açma Yolunu Değiştirme RRS feed

  • Soru

  • Merhaba benim bir programım var.Butonlar ile oyunu açıyor dosya konumu v.b açıyor.

    Şimdi ben process star yöntemi ile mesela  

    Process.Start("C:\\Program Files (x86)\\KONAMI\\Pro Evolution Soccer 2014\\settings.exe"); // bu şekilde belirtiyorum burada bir sorun yok çalışıyor.Ancak indiren adam da (x86) olmayabilir bu dosya yolunu kullanıcının belirlemesini istiyorum nasıl yapabilirim? Setting ile denemeye çalıştım beceremedim teşekkürler.


    Beni uyar

    3 Ekim 2013 Perşembe 20:07

Yanıtlar

  • ilk dosya var mı kontrol et FileInfo sınıfı ile.

     
    FileInfo f1 = new FileInfo("C:\\Program Files (x86)\\KONAMI\\Pro Evolution Soccer 2014\\settings.exe");
    
    if (!f1.Exist())
    {
      f1 = new FileInfo("C:\\Program Files\\KONAMI\\Pro Evolution Soccer 2014\\settings.exe");
        if (!f1.Exist())
        {
           // ikiside yok fileDialog ile kullanıcıya sor
        }
        else
        {
          // ikinci yolda dosya var.
        }
    } 
    else
    {
      //birinci yolda dosya var demektir. 
    }

    4 Ekim 2013 Cuma 06:37

Tüm Yanıtlar

  • İlker Selam,

    OpenFileDialog sınıfı ile kullanıcıya istediği dosyayı seçtirip, dosya yolunu string tipinden bir değişkene vererek Process.Start ile çalıştırabilirsin.

    Buton click eventinde aşağıdaki gibi bir method işini görür sanırım.

            private void myFile()
            {
                OpenFileDialog myFileWay = new OpenFileDialog();
                myFileDialog.Title = "Dosya seç";
                myFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    
                if (myFileWay.ShowDialog()==DialogResult.OK)
                {
                    string fileWay = myFileWay.FileName;
                    Process.Start(fileWay);
                    
                }
            }

    3 Ekim 2013 Perşembe 20:51
  • Ama herhalde bunu değiştirene kadar kalıcı olanını istiyor galiba...
    3 Ekim 2013 Perşembe 21:59
  • ilk dosya var mı kontrol et FileInfo sınıfı ile.

     
    FileInfo f1 = new FileInfo("C:\\Program Files (x86)\\KONAMI\\Pro Evolution Soccer 2014\\settings.exe");
    
    if (!f1.Exist())
    {
      f1 = new FileInfo("C:\\Program Files\\KONAMI\\Pro Evolution Soccer 2014\\settings.exe");
        if (!f1.Exist())
        {
           // ikiside yok fileDialog ile kullanıcıya sor
        }
        else
        {
          // ikinci yolda dosya var.
        }
    } 
    else
    {
      //birinci yolda dosya var demektir. 
    }

    4 Ekim 2013 Cuma 06:37
  • Program Files klasörünün ismi dile göre değişebilir, onun için Program Files klasörünün yolunu ya Envireonment.GetEnvironmentVariables ya da Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) ile alın.

    gerekli liste burada http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    4 Ekim 2013 Cuma 10:31
    Moderatör