C# da Ayrı bir programı çalıştırmak

sonicnix

Centipat
Katılım
27 Mayıs 2020
Mesajlar
863
Çözümler
3
Merhabalar değerli Technopat Sosyal forum sakinleri,

C# bilen ve buralarda az, çok yardımcı olmak istiyen sakinlere bir sorum olucaktı. Sorum şu şekilde;

Bildiğim bir program var. Bu programın kaynak kodlarını dnSpy aracılığıyla aldım. Programda bir checkbox a basınca bir program başlatılıyor. Bende bu kodları aldım kendi butonuma yapıştırdım. Projemi hatasız, uyarısız derledim lakin checkbox a basınca bir hata ile karşılaştım fotoğrafını ekledim. Bana bu konuda yardımcı olur musunuz? Projeye açılmasını istediğim programı da ekledim. Hata yok?
Kodlar;

C#:
bool @checked = this.gunaCheckBox4.Checked;

            if (@checked)

            {

                DialogResult dialogResult = MessageBox.Show("Grif clicker, RiseClient ve SonOyuncuda çalışır. Başlatmak istiyormusunuz?", "", MessageBoxButtons.YesNo);

                bool flag = dialogResult == DialogResult.Yes;

                if (flag)

                {

                    try

                    {

                        File.WriteAllBytes("grif.exe", Resources.grif);

                        Process.Start("grif.exe",@"");

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.ToString(), "HATA");

                    }

                }

                else

                {

                    this.gunaCheckBox4.Checked = false;

                }

            }

Şimdiden yardımcı olucak tüm forum sakinlerine çok teşekkürlerimi iletiyorum.
 

Dosya Ekleri

  • Screenshot_10.png
    6,7 KB · Görüntüleme: 69
Son düzenleyen: Moderatör:
Try-Catch bloğunda, try kısmında bir hatanız mevcut sanırım, catch'de yazdırılan hata olması gerek bunun. HATA yazan yeri değiştirdiğinizde pencereninde başlığı değişiyorsa try kısmını gözden geçirin.
C#:
File.WriteAllBytes("grif.exe", Resources.grif);
Buradaki satırda değişkenlerle ilgili bir problem var, sanırım "Resources.grif" diye bir değişkeniniz yok.
 
programda dnspy da resources falan bu şekilde;
benim programımdaki visual studiodaki resources şu şekilde;
ben hatayı çözdüm lakin yapamıyorum hata resources de adamda resources klasörü properties bölümünde ben direk şap diye klasör oluşturdum ve bu klasörden başlatamıyorum yardım edebilir misin?
 

Dosya Ekleri

  • Screenshot_11.png
    3,8 KB · Görüntüleme: 54
  • Screenshot_12.png
    3,3 KB · Görüntüleme: 50
Benim belki de en çok kullandığım dil C#'tır fakat hala konuyu anlamaya çalışıyorum. DnSpy'dan alınan kodu projeye yapıştırmak pek de tersine mühendislik sayılmıyor, kodu anlayıp ortamı ona göre oluşturmak gerekiyor. Yoksa böyle hata alınır.

Properties kısmından "Resources" sekmesinin görüntüsünü atabilir misin? (Projeye sağ tık yapman gerekiyor.)
 
Bende anlıyorum lakin böyle bir şey lazım örnek bir şey olsa ve ben tek kullanıcak olsam böyle birşeye ihtiyaç duymazdımda bunu arkadaşlarımla paylaşacağım. Onların dosya yolları farklı olucağı için böyle bir şey hazır varken almak istedim ama hata ile karşılaşına geldim buralara .
Buyrunuz..
 

Dosya Ekleri

  • Screenshot_13.png
    6,3 KB · Görüntüleme: 49
Dosyanın adındaki nokta karıştırıyor olabilir. Resources kısmına gidip noktayı kaldırarak dosyanın adını "grifexe" gibi yaparak, kodda da "grif.exe" yerine "grifexe" şeklinde (adını ne ile değiştirdiyseniz) deneyebilir misiniz bir de? Sıkıntı sanki grif.exe dosyasının grif adlı klasörde olması ve bizim sadece klasörü okumaya çalışıyor olmamız gibi görünüyor.
 
Onların dosya yolları farklı olucağı için böyle bir şey hazır varken almak istedim ama hata ile karşılaşına geldim buralara .
Burada bilgisayar bağımsız olmak üzere dosya yolları çekebilen fonksiyonlar mevcut.
MS C# Docs
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…