C# uygulamayı başlangıça kaydetme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
Bir kaç kod yazdım ama kaydetmedi.. Nasıl uygulamayı başlangıç klasörüne kaydedebilirim?

Edit1: Ha bir dakika dosya yolunu buldum. Başka bir yöntem geldi aklıma. Deneyeceğim birazdan.
Edit2:Yok olmadı.
 
Moderatörün son düzenlenenleri:
Admin
Katılım
9 Eki 2017
Mesajlar
13,541
Çözümler
1,051
Tepki puanı
3,384
Ödüller
22
8 HİZMET YILI
C# ile bir uygulamayı başlangıçta otomatik olarak başlatmak için uygulamanın kaydedilmesi gereken konumun kayıt defterinde belirtilmesi gerekir bu işlemi yapmak için aşağıdaki kodları kullanabilirsin:

C#:
using Microsoft.Win32;

public static void SetStartup()
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);
}

Bu kod kayıt defterindeki "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" anahtarına erişir ve burada uygulamanın adını ve yolunu kaydeder uygulama bundan sonra her başlatıldığında otomatik olarak başlayacaktır

Uygulamanı başlangıçta başlatmak için bu kodu uygulama başlatıldığında çağırmalısın bunun için uygulama başlatıldığında çağrılan bir fonksiyon oluşturabilirsin örneğin Form_Load olayı aşağıdaki gibi olabilir:

C#:
private void Form1_Load(object sender, EventArgs e)
{
    SetStartup();
}
Bu kod form yüklendiğinde SetStartup() fonksiyonunu çağırır ve uygulamanı artık başlangıçta otomatik olarak çalışacaktır
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C# ile bir uygulamayı başlangıçta otomatik olarak başlatmak için uygulamanın kaydedilmesi gereken konumun kayıt defterinde belirtilmesi gerekir bu işlemi yapmak için aşağıdaki kodları kullanabilirsin:

C#:
using Microsoft.Win32;

public static void SetStartup()
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);
}

Bu kod kayıt defterindeki "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" anahtarına erişir ve burada uygulamanın adını ve yolunu kaydeder uygulama bundan sonra her başlatıldığında otomatik olarak başlayacaktır

Uygulamanı başlangıçta başlatmak için bu kodu uygulama başlatıldığında çağırmalısın bunun için uygulama başlatıldığında çağrılan bir fonksiyon oluşturabilirsin örneğin Form_Load olayı aşağıdaki gibi olabilir:

C#:
private void Form1_Load(object sender, EventArgs e)
{
    SetStartup();
}
Bu kod form yüklendiğinde SetStartup() fonksiyonunu çağırır ve uygulamanı artık başlangıçta otomatik olarak çalışacaktır
7.3 olduğu için hata verdi bende .vbs ile yaptım.
Basla.vbs:
Option Explicit
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "Dosya.exe"
CreateObject("Shell.Application").Namespace(7).CopyHere WScript.ScriptFullName, 4 + 16 + 1024
Set objShell = Nothing
Dosya.exe:
System.Diagnostics.Process.Start("Basla.vbs");
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C# ile bir uygulamayı başlangıçta otomatik olarak başlatmak için uygulamanın kaydedilmesi gereken konumun kayıt defterinde belirtilmesi gerekir bu işlemi yapmak için aşağıdaki kodları kullanabilirsin:

C#:
using Microsoft.Win32;

public static void SetStartup()
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);
}

Bu kod kayıt defterindeki "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" anahtarına erişir ve burada uygulamanın adını ve yolunu kaydeder uygulama bundan sonra her başlatıldığında otomatik olarak başlayacaktır

Uygulamanı başlangıçta başlatmak için bu kodu uygulama başlatıldığında çağırmalısın bunun için uygulama başlatıldığında çağrılan bir fonksiyon oluşturabilirsin örneğin Form_Load olayı aşağıdaki gibi olabilir:

C#:
private void Form1_Load(object sender, EventArgs e)
{
    SetStartup();
}
Bu kod form yüklendiğinde SetStartup() fonksiyonunu çağırır ve uygulamanı artık başlangıçta otomatik olarak çalışacaktır
C# sürümü değişmiyor nedense. C# sürümü 7.3 ama 8.0 ve üstü yapmaya çalışıyorum ama maalesef olmuyor. Eskiden izin veriyordu. CS8370 hatasını alıyorum. 8.0 ve üstünü kullan diyor.
C#:
private void button1_Click(object sender, EventArgs e)



        {



        







             static void SetStartup()



            {



                RegistryKey registryKey = Registry.CurrentUser.OpenSubKey



                    ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);



                registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);



                SetStartup();



            }
Kod bu.
 
1881 ⁓ 193∞
Seçkin Üye
Katılım
21 Eki 2018
Mesajlar
565
Çözümler
3
Tepki puanı
181
Ödüller
8
7 HİZMET YILI
C# sürümü değişmiyor nedense. C# sürümü 7.3 ama 8.0 ve üstü yapmaya çalışıyorum ama maalesef olmuyor. Eskiden izin veriyordu. CS8370 hatasını alıyorum. 8.0 ve üstünü kullan diyor.
C#:
private void button1_Click(object sender, EventArgs e)



        {



       







             static void SetStartup()



            {



                RegistryKey registryKey = Registry.CurrentUser.OpenSubKey



                    ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);



                registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);



                SetStartup();



            }
Kod bu.
Kodu baştan sona yanlış yazmışsın ondan hata alıyor olabilir misin? :thonkie:
 
1881 ⁓ 193∞
Seçkin Üye
Katılım
21 Eki 2018
Mesajlar
565
Çözümler
3
Tepki puanı
181
Ödüller
8
7 HİZMET YILI
C#:
using Microsoft.Win32; // Bunu en üste ekle

// Bunu boş bir alana ekle button içine felan değil
public static void SetStartup()
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);
}

C#:
private void Form1_Load(object sender, EventArgs e)
{
    SetStartup(); // Bu da göründüğü gibi form1 load eventine ekle kod bu zaten
}

Attığın örnek kodda hepsi yanlış yerde boş alana ekle dediğimi button click eventine koymuşsun altına da form1 load eventine ekleyeceğini koymuşsun??

Static void hatası o onu boş alana ekleyecen herhangi bir evente değil.
 
Son düzenleme:
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C#:
using Microsoft.Win32; // Bunu en üste ekle

// Bunu boş bir alana ekle button içine felan değil
public static void SetStartup()
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
        ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    registryKey.SetValue("Uygulama Adı", Application.ExecutablePath);
}

C#:
private void Form1_Load(object sender, EventArgs e)
{
    SetStartup(); // Bu da göründüğü gibi form1 load eventine ekle kod bu zaten
}

Attığın örnek kodda hepsi yanlış yerde boş alana ekle dediğimi button click eventine koymmuşsun altına da form1 load eventine ekleyeceğini koymuşsun??

Static void hatası o onu boş alana ekleyecen herhangi bir evente değil.
Üst düzey deyimler 7.3 için kullanılmaz. Lütfen 9.0 deneyin hatası verdi. Neyse sorun tek bundan kaynaklı yani yazdığın kod doğru.
 
CoreCheat CSGO
Griffin Premium
Katılım
10 May 2016
Mesajlar
1,766
Çözümler
5
Tepki puanı
720
Ödüller
14
Yaş
25
Sosyal
10 HİZMET YILI
Reg işine girme. Eğer normal kullanıcı için bir program yapıyorsan direkt windowsun "Başlangıç" klasörü var. Programı oraya koy. Ha kötü huylu bir şey yapıyorsan yukardaki arkadaşların dediğini öneririm. Hatalat için de yeni temiz bir proje yapıp .NET Core ile değil .NET Framework için yaz.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst