Saya perhatikan ketika saya menekan Ctrl+ Alt+ Deldan klik Task Manager, panggilan Windows taskmgr.exe /3
sebagai perintah. Beberapa situs web mengklaim bahwa Pengelola Tugas tidak memiliki argumen baris perintah.
Mengapa Windows melampirkan argumen ini?
windows-7
command-line
task-manager
command-line-arguments
Martin Braun
sumber
sumber
LaunchTM.exe
di%windir%\System32
mana membuatnya lebih membingungkan karena saya tidak tahu, berdasarkan pencarian google saya juga, tujuan keberadaannya dan apa yang baik untuk secara umum.LaunchTM.exe
di Windows 7, Anda berada di Windows 8 saya pikir. Mengapa tidak membuat pertanyaan baru tentang ini di sini di superuser? ;)Jawaban:
Analisis
Rupanya itu bukan perilaku yang terdokumentasi. Saya melakukan beberapa tes, dan mencatat temuan saya:
Klik kanan bilah tugas, dan klik Mulai Pengelola Tugas .
Tekan Ctrl+ Shift+ Esc.
Tekan Ctrl+ Alt+ Del, dan klik Mulai Pengelola Tugas .
Mulai Pengelola Tugas yang tidak ditinggikan, dan klik tombol Tampilkan proses dari semua pengguna .
Ketik atau rekatkan
taskmgr.exe
di bilah pencarian menu Mulai, dan tekan Enter; tekan Win+ R, ketik atau rekatkantaskmgr.exe
di kotak teks, dan tekan Enter; arahkan keSystem32
folder dan klik dua kali yangtaskmgr.exe
dapat dieksekusi; mulai utilitas Konfigurasi Sistem (msconfig.exe
), klik tab Tools , pilih item Task Manager dari daftar, dan klik Launch .Buka prompt perintah, ketik atau rekatkan
taskmgr.exe
, dan tekan Enter.Catatan
Berbagai hal bekerja dengan cara yang sama selama fase pengembangan Windows 8, hingga Preview Rilis. Windows Vista dan sistem operasi sebelumnya tidak terpengaruh.
Eksekusi dapat mengimpor beberapa fungsi API (yaitu
GetCommandLineW
danCommandLineToArgvW
) yang digunakan untuk mengambil dan mem-parsing argumen baris perintah.Memulai program secara manual menggunakan argumen apa pun di atas tampaknya tidak memiliki efek nyata.
Jika saya harus membuat tebakan yang berpendidikan, saya akan mengatakan bahwa parameter numerik dimaksudkan sebagai indikator startup internal, mungkin digunakan untuk keperluan debugging dan kemudian ditinggalkan.
sumber
taskmgr /anything /startup
berfungsi, jadi/startup
argumen kedua.Beberapa catatan:
Hanya karena perintah dikirim, tidak berarti bahwa suatu program menerima argumen itu, atau apa pun.
Sebagai contoh:
Saya menelepon taskmanager dengan perintah aneh saya sendiri dan behavoir tidak berubah:
Dari sudut pandang pemrograman dasar, aplikasi apa pun akan memiliki metode utama di mana argumen dapat diajukan. Sebagai contoh aplikasi Windows Form C # dasar terlihat seperti:
Jika saya melewati beberapa argumen lucu, tidak ada yang terjadi dengan aplikasi tersebut, tetapi Process Explorer akan menangkap dan menampilkannya.
Jika saya secara eksplisit memutuskan untuk menanganinya, Anda akan mendapatkan interaksi dari perintah.
Dan yang harus saya lakukan adalah mengubah sedikit titik masuk formulir:
Sekarang, kembali ke pertanyaan Anda mengapa ada:
Jika Anda mengakses taskmgr.exe dari metode ctrl+ alt+ del, Anda memang melihat argumen perintah "/ 3". Juga jika Anda menggunakan ctrl+ shift+ escmelewati / 2 dan jika Anda mengklik kanan bilah tugas dan klik "Mulai Pengelola Tugas", saklar yang ditampilkan adalah / 4.
Semua ini membuat saya berasumsi mungkin ada sesuatu yang perlu diketahui Windows, atau mungkin hampir diimplementasikan untuk Taskmanager yang tidak kita ketahui. Misalnya, keamanan di Windows mungkin ingin tahu apakah ctrl+ alt+ deldigunakan untuk memanggil taskmgr.exe dan bukan skrip atau pengguna. Sekali lagi, spekulasi murni tetapi utas seperti ini membuat saya berpikir itu mungkin paling tidak sebuah pemikiran.
Untuk tl terkenal ; dr
Untuk mengetahui mengapa Windows melewati perintah-perintah ini, kami kemungkinan membutuhkan anggota tim pengembangan Microsoft, atau kode sumber. Mungkin tidak ada jawaban yang lebih baik.
sumber