taskmgr.exe Windows 7 tarafından bir argüman ile çağrıldı


13

Ben bastığınızda fark Ctrl+ Alt+ Delve Görev Yöneticisi 'ni Windows çağırır taskmgr.exe /3komutu olarak. Bazı web siteleri, Görev Yöneticisi'nin komut satırı bağımsız değişkenleri olmadığını iddia eder.

İşlem Gezgini'ndeki Görev Yöneticisi İşlemleri

Windows bu argümanı neden ekliyor?


Üstelik başka, daha az ağırlık var LaunchTM.exeiçinde %windir%\System32ben çözemedim olarak daha da yanı benim google arama dayanarak, kafa karıştırıcı yapar onun varlığı amacı ve ne genel olarak iyi gelir.

@ Chinggis6 LaunchTM.exeWindows 7'de yok, sanırım Windows 8'desiniz. Neden süper kullanıcıda bununla ilgili yeni bir soru yaratmıyorsunuz? ;)
Martin Braun

Yanıtlar:


13

analiz

Belli ki bu belgelenmiş bir davranış değil. Bazı testler yaptım ve bulgularımı not ettim:

  • Görev çubuğunu sağ tıklatın ve Görev Yöneticisini Başlat'ı tıklatın .

    "C:\Windows\system32\taskmgr.exe" /4
    
  • Ctrl+ Shift+ Tuşlarına basın Esc.

    taskmgr.exe /2
    
  • Ctrl+ Alt+ Tuşlarına basın Delve Görev Yöneticisini Başlat'ı tıklatın .

    taskmgr.exe /3
    
  • Yükseltilmemiş bir Görev Yöneticisi başlatın ve İşlemleri tüm kullanıcılardan göster düğmesini tıklayın.

    "C:\Windows\system32\taskmgr.exe" /1
    
  • taskmgr.exeBaşlat menüsü arama çubuğuna yazın veya yapıştırın Enter; Win+ tuşuna basın , metin kutusuna Ryazın veya yapıştırın taskmgr.exeve tuşuna basın Enter; gidin System32klasörü ve çift tıklayın taskmgr.exeyürütülebilir; Sistem Yapılandırma yardımcı programını (başlangıç msconfig.exe), tıklayın Araçlar , sekmesini listeden Görev Yöneticisi öğesini seçin ve tıklayın Başlat .

    "C:\Windows\system32\taskmgr.exe"
    
  • Bir komut istemi açın, yazın veya yapıştırın taskmgr.exeve tuşuna basın Enter.

    taskmgr.exe
    

Uyarılar

  • Windows 8'in geliştirme aşamasında, Sürüm Önizlemesi'ne kadar işler benzer şekilde çalıştı. Windows Vista ve önceki işletim sistemleri bundan etkilenmez.

  • Yürütülebilir dosya, komut satırı bağımsız değişkenlerini almak ve ayrıştırmak için kullanılan birkaç API işlevi (yani GetCommandLineWve CommandLineToArgvW) alır.

  • Yukarıdaki argümanlardan herhangi birini kullanarak programı manuel olarak başlatmak, gözle görülür bir etkiye sahip görünmemektedir.

Eğitimli bir tahmin yapmak zorunda kalsaydım, sayısal parametrenin dahili bir başlangıç ​​göstergesi olması gerektiğini, muhtemelen hata ayıklama amacıyla kullanıldığını ve sonra geride kaldığını söyleyebilirim.


5
"taskmgr / 7 / startup" => önde Başlangıç ​​sekmesi ile başlayın! (Windows 8.1) - ama ne "taskmgr / startup / 7" ne de "taskmgr / startup" bunu yapmaz! (Ekstra kredi: Lütfen bu kanıtla taskmgr.exe komut satırı ayrıştırma algoritmasını açıklayın ...)
davidbak

1
@davidbak ikinci argüman gibi taskmgr /anything /startupçalışır /startup.
Michel de Ruiter

@MicheldeRuiter - Evet. Herhangi bir sırada argümanlara izin vermek onları öldürecek miydi? KG'de ekstra iş mi yaptınız? Sevk tarihi ertelendi mi? BU NE ????
davidbak

2

Birkaç not:

Bir komutun gönderilmesi, bir programın bu argümanları veya herhangi birini kabul ettiği anlamına gelmez.

Örneğin:

Kendi tek komutumla taskmanager'i aradım ve davranış değişmedi:

resim açıklamasını buraya girin

Bir temel programlama standı noktadan itibaren, herhangi bir uygulama argümanlar çeşit ana yöntemine sahip olacak yapabilirsiniz geçirilmelidir Örneğin temel bir Windows Form C # uygulama görünüyor şey gibi.:

private void Form1_Load(object sender, EventArgs e)
        {

        }

Bazı komik argümanlar aktarırsam, uygulamada hiçbir şey olmaz, ancak Process Explorer bunları yakalar ve görüntüler.

resim açıklamasını buraya girin

Ancak bunları açıkça ele almaya karar verirsem, komuttan etkileşim elde edersiniz.

resim açıklamasını buraya girin

Ve tek yapmam gereken formun giriş noktasını biraz değiştirmekti:

private void Form1_Load(object sender, EventArgs e)
        {
            string arguments = Environment.GetCommandLineArgs()[1];

            this.Text = arguments;
        }

Şimdi, neden orada olduğuna dair sorunuza geri dönelim:

Taskmgr.exe dosyasına ctrl+ alt+ delyönteminden erişirseniz , gerçekten de "/ 3" komut argümanını görürsünüz. Ayrıca ctrl+ shift+ kullanırsanız esc/ 2 iletilir ve görev çubuğuna sağ tıklayıp "Görev Yöneticisini Başlat" a tıklarsanız gösterilen anahtar / 4 olur.

Tüm bunlar beni belki de Windows'un bilmesi gereken bir şey olduğunu varsayıyor, ya da belki de bilmediğimiz Taskmanager için neredeyse uygulandı. Örneğin, Windows'ta güvenlik bir komut dosyası veya kullanıcı değil taskmgr.exe dosyasını çağırmak için ctrl+ alt+ delkullanılıp kullanılmadığını bilmek isteyebilir . Yine, saf spekülasyonlar, ancak bunun gibi iplikler , beni en azından bir düşünce olabileceğini düşündürüyor.


Rezil tl için; dr

Windows'un bu komutları neden ilettiğini bilmek için ya Microsoft'un geliştirme ekibinin bir üyesine ya da kaynak koduna ihtiyacımız var. Daha iyi bir cevap olmayabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.