none
System.Diagnostics.Process.Start Hk. RRS feed

  • Soru

  • Merhaba arkadaşlar,

    küçük bir çalışma yapıyorum, ekranın sağ kısmına mouse geldiğinde form beliriyor ve üzerindeki butona bastığımda hangi adres tanımlı ise o açılıyor.

    sorunum şu, bunu kendim kullanmak istediğimde sorun yok, fakat başkasına verdiğimde dosya yolu, internet adresi vs gibi istekleri benim isteklerimle örtüşmeyebilir dolayısı ile değiştirebilmeli. Bu yüzden 2. bir formda bu özellikleri değiştirmek istedim, 2. formda yapılan işlemler regedite kayıt oluyor ve oradan tekrar okunuyor. herşey normal buraya kadar ben 1. formdaki butona tıkladığımda şu komutun çalışması gerekiyor ----- 

    private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                System.Diagnostics.Process.Start(f2.textBox1.Text);

            } --------

    fakat form2 deki textbox1.textini okumuyor program ama kontrol ettiğimde form2 deki textbox ı dolu.

    Nasıl çözebilirim durumu. 

    Not :  form2 deki textbox1.textini programı tasarlarken doldurursam program sorunsuz çalışıyor. doldurmazsam dediğim durum ortaya çıkıyor.

    Saygılarımla.



    • Düzenleyen Tolga_K 1 Haziran 2017 Perşembe 10:34
    1 Haziran 2017 Perşembe 10:16

Yanıtlar

  • public string ReadRegistry(string subKey, string pKey)
    {
        try
        {
            RegistryKey regKey1 = Registry.LocalMachine.OpenSubKey(subKey);
            return (string)regKey1.GetValue(pKey);
        }
        catch (Exception ex)
        {
            return "";
        }
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        string dosya = ReadRegistry("\\SOFTWARE\\TOLGA\\YENI", "CalistirilacakDosya");
        System.Diagnostics.Process.Start(dosya);
    }
    Başarılar...

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Tolga_K 5 Haziran 2017 Pazartesi 19:05
    4 Haziran 2017 Pazar 07:51

Tüm Yanıtlar

  • private void button1_Click(object sender, EventArgs e)
    {
       Form2 f2 = (Form2)Application.OpenForms["Form2"];         
        System.Diagnostics.Process.Start(f2.textBox1.Text);
    }

    Form2 açık olmalı. Ama Form2 yi kullanmak yerine registry den okutmanız daha doğru olur.

    Başarılar...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    1 Haziran 2017 Perşembe 11:22
  • Merhaba Sn. Murat AKSARAY, musait zamanımda deneyip dönüş sağlayacağım. İlginiz icin teşekkür ederim. Saygılarımla.
    1 Haziran 2017 Perşembe 12:46
  • Sn. MuratAKSARAY, izlediğim yolun yanlış olduğunu gösterdiğiniz için teşekkür ederim, yanıtımın gecikmesinden dolayı ise özür dilerim.

    Çalıştığım proje üzerinde bu ara çok fazla duramadım, maalesef işlerim biraz yoğun, sadede gelmem gerekirse. 

    Regitryden nasıl bilgileri çekebileceğimi internette araştırarak üzerinde 1 gün durmama rağmen (Sadece değer çekmek açısından ) halen sonuca ulaşamadım. Maalesef registry içerisindeki bilgilerimi doldurabiliyorum, fakat geri dönüş alamıyorum. Umuyorum ki yardımınız ile üstesinden geleceğim.

    Teşekkür ederim.

    Saygılarımla.

    3 Haziran 2017 Cumartesi 21:47
  • public string ReadRegistry(string subKey, string pKey)
    {
        try
        {
            RegistryKey regKey1 = Registry.LocalMachine.OpenSubKey(subKey);
            return (string)regKey1.GetValue(pKey);
        }
        catch (Exception ex)
        {
            return "";
        }
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        string dosya = ReadRegistry("\\SOFTWARE\\TOLGA\\YENI", "CalistirilacakDosya");
        System.Diagnostics.Process.Start(dosya);
    }
    Başarılar...

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Tolga_K 5 Haziran 2017 Pazartesi 19:05
    4 Haziran 2017 Pazar 07:51
  • Sn. MuratAKSARAY,  yardımlarınız için çok teşekkür ederim. sorunum çözüldü. Saygılarımla.
    4 Haziran 2017 Pazar 15:49
  • Sorununuzun çözülmesine sevindim. Yanıt olarak işaretler misiniz.?.

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    4 Haziran 2017 Pazar 17:23