C# Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ercan
    Ercan's avatar
    Kayıt Tarihi: 04/Temmuz/2008
    Erkek

    Selam arkadaşlar yeni başladığım bir proje ile ilgili bir sorum olucak. Kullanıcı işletim sisteminde açtığı klasörleri, exeleri veya benzeri dosyaları açtığında projemdeki listeye kaydetmesini istiyorum bunu nasıl yapıcam ve aynı zaman da bu dosyaları istediğimde kapatmak istiyorum. Örnek olarak kullanıcı winamp ve wordu açtı bu benim formundaki listede gözükücek kullanıcı winamp kapatmak istiyo diyelim bir buttonu tıklayarak nasıl kapatabilir? Kısacası görev yöneticisi gibi bir proje olucak. 


    IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek

    dediklerini tam olarak anlayamadım fakat bu olay Process (işlem) kontrolune girer.

    bi ip ucu vererek başlıyım

     

    mesela ilk önce kütüphanemize ;

    using System.Diagnostics; // kütüphaneye ekledik.. 

     

    şöyle bir örnek vermek istiyorum..mesela şuan pcnde çalışan programları görmek istiyosan (ramdeki yani) şu kodla sorgulatıp alırsın.

     

     private void Form1_Load(object sender, EventArgs e)
            {
                listBox1.Items.Clear();
                Process[] get = Process.GetProcesses();
                {
                    foreach (Process get2 in get)
                    {
                        listBox1.Items.Add(get2.ProcessName);
                    }
                }
            }

     

    /////////// yani dedikki form yüklenirken ramdaki işlemleri al listboxa yerleştir :| bu kodu geliştirerek kullanıcı yeni bi işlem başlattığında ProcessName methodundan (yda ID)  programın adını listboxa yükletebilirsin..karıştır biraz

     

    // pardon bide kapatmak istiyomuşsun.. oda basit

     daha önce yukarda işlemleri listboxumuza aldık

     


                Process[] get = Process.GetProcessesByName(listBox1.Text);
                {
                    foreach (Process get2 in get)
                    {
                        get2.Kill();
                    }
                }

    --/ bu kodu bir buttona ekle ve listboxda sonlandırmak istediğin işlemin ismini seç. butona bas.ve işlem kapanacaktır. (sona erecektir)

     

    sorunu tam anlayamadığım için bukadar yardımcı olabilidm kusura bakma :| hadi koly gelsin

    ne

     

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ercan
    Ercan's avatar
    Kayıt Tarihi: 04/Temmuz/2008
    Erkek

    Kafamdaki soruların çoğunu cevaplamışsın zaten çok saol.  Sorum tam olarak şuydu. diyelim ki user Belgelerimi açtı listeye belgelerim eklendi listeden Belgelerimi tıklayıp kapat butonuna basınca Belgelerim kapanıcak. Demek istediğim buydu.

    Ayrıca Process meto ile klasör isimlerini felan da alabilirmiyiz? Görev yöneticisinde klasörler işlemler sekmesinde explorer adında gözüküyor çünkü.


    IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek

    aSdFgH bunu yazdı:
    -----------------------------

    Kafamdaki soruların çoğunu cevaplamışsın zaten çok saol.  Sorum tam olarak şuydu. diyelim ki user Belgelerimi açtı listeye belgelerim eklendi listeden Belgelerimi tıklayıp kapat butonuna basınca Belgelerim kapanıcak. Demek istediğim buydu.

    Ayrıca Process meto ile klasör isimlerini felan da alabilirmiyiz? Görev yöneticisinde klasörler işlemler sekmesinde explorer adında gözüküyor çünkü.


    -----------------------------

     bilemiyorum, ama zannetmiyorum onun için farklı bişey bulacaksın.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ercan
    Ercan's avatar
    Kayıt Tarihi: 04/Temmuz/2008
    Erkek

    HoLyZone bunu yazdı:
    -----------------------------

    aSdFgH bunu yazdı:
    -----------------------------

    Kafamdaki soruların çoğunu cevaplamışsın zaten çok saol.  Sorum tam olarak şuydu. diyelim ki user Belgelerimi açtı listeye belgelerim eklendi listeden Belgelerimi tıklayıp kapat butonuna basınca Belgelerim kapanıcak. Demek istediğim buydu.

    Ayrıca Process meto ile klasör isimlerini felan da alabilirmiyiz? Görev yöneticisinde klasörler işlemler sekmesinde explorer adında gözüküyor çünkü.


    -----------------------------

     

     bilemiyorum, ama zannetmiyorum onun için farklı bişey bulacaksın.


    -----------------------------

     

     Ewt sanırım onun için farklı birşey var. Çünkü klasörler explorer.exe nin altında sanırım ona müdale etmem lazım Ayrıca

    listBox2.Items.Add(get2.MainWindowTitle.ToString()); komutu ile de başlat çubuğundaki programların title öğrenilyormuş. Sanılım bu sayede listedeki programlardan eleme yapabilirim. Nede olsa system dosyalarını listemde göstermek istemiyorum.

     


    IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek

    aSdFgH bunu yazdı:

    ------------------------------

     

     Ewt sanırım onun için farklı birşey var. Çünkü klasörler explorer.exe nin altında sanırım ona müdale etmem lazım Ayrıca

    listBox2.Items.Add(get2.MainWindowTitle.ToString()); komutu ile de başlat çubuğundaki programların title öğrenilyormuş. Sanılım bu sayede listedeki programlardan eleme yapabilirim. Nede olsa system dosyalarını listemde göstermek istemiyorum.

     


    -----------------------------

     

    mantıklı

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tomu
    tomu's avatar
    Kayıt Tarihi: 09/Mayıs/2007
    Erkek

    Process numarasına göre kapatabilirsin ancak. Mesela wmplayer için düşünürsek eğer;

    Process []islem = Process.GetProcesses();

    foreach(Process i in islem)
    {
    string s = i.ProcessName;
    s = s.ToLower();
    if (s.CompareTo("wmplayer") == 0)
    {
     i.Kill();
    }

    } 

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ercan
    Ercan's avatar
    Kayıt Tarihi: 04/Temmuz/2008
    Erkek

    tomu bunu yazdı:
    -----------------------------

    Process numarasına göre kapatabilirsin ancak. Mesela wmplayer için düşünürsek eğer;

    Process []islem = Process.GetProcesses();

    foreach(Process i in islem)
    {
    string s = i.ProcessName;
    s = s.ToLower();
    if (s.CompareTo("wmplayer") == 0)
    {
     i.Kill();
    }

    } 


    -----------------------------

     

     

    Programları kapatmakta sorun yok. Sorun klasörleri kapatmakda. Klasörler Explorer içersinde gözüküyor. Explorer kapatınca açık klasörlerde kapanıyor. Aynı zamanda listeletme yaparken klasörleride görmüyor.


    IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek

    tomu bunu yazdı:
    -----------------------------

    Process numarasına göre kapatabilirsin ancak. Mesela wmplayer için düşünürsek eğer;

    Process []islem = Process.GetProcesses();

    foreach(Process i in islem)
    {
    string s = i.ProcessName;
    s = s.ToLower();
    if (s.CompareTo("wmplayer") == 0)
    {
     i.Kill();
    }

    } 


    -----------------------------

     

    gerek yok çok uzun yöntem

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ercan
    Ercan's avatar
    Kayıt Tarihi: 04/Temmuz/2008
    Erkek

    Yabancı bi kaynak buldum. Ama fazla anlıyamadım. Birde siz bakın isterseniz.

     

    http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/da48caa2-93fb-43e3-95ab-97aef2f05197

     


    IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek
    msdn sana yabancı gelmemeli ..  Eğer öyleyse, herşeyi bırak, msdn'yi anlamaya çalış.:)

    ..
Toplam Hit: 3280 Toplam Mesaj: 12