kelas Win32_ProcessStartup
Kelas WMI abstrak Win32_ProcessStartup mewakili konfigurasi startup dari proses berbasis Windows. Kelas didefinisikan sebagai definisi jenis metode, yang berarti bahwa itu hanya digunakan untuk meneruskan informasi ke metode Create dari kelas Win32_Process .
Sintaks berikut disederhanakan dari kode Managed Object Format (MOF) dan menyertakan semua properti yang diwariskan.
Sintaks
[Abstract, UUID("{8502C4DB-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_ProcessStartup : Win32_MethodParameterClass
{
uint32 CreateFlags;
string EnvironmentVariables[];
uint16 ErrorMode = 1;
uint32 FillAttribute;
uint32 PriorityClass;
uint16 ShowWindow;
string Title;
string WinstationDesktop;
uint32 X;
uint32 XCountChars;
uint32 XSize;
uint32 Y;
uint32 YCountChars;
uint32 YSize;
};
Anggota
Kelas Win32_ProcessStartup memiliki jenis anggota ini:
Properti
Kelas Win32_ProcessStartup memiliki properti ini.
-
CreateFlags
-
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Fungsi Proses dan Utas| CreateProcess|dwCreationFlags")
Nilai tambahan yang mengontrol kelas prioritas dan pembuatan proses. Nilai pembuatan berikut dapat ditentukan dalam kombinasi apa pun, kecuali seperti yang disebutkan.
-
-
Debug_Process (1)
-
Jika bendera ini diatur, proses panggilan diperlakukan sebagai debugger, dan proses baru sedang di-debug. Sistem memberi tahu debugger semua peristiwa debug yang terjadi dalam proses yang sedang di-debug.
-
Debug_Only_This_Process (2)
-
Jika bendera ini tidak diatur dan proses panggilan sedang di-debug, proses baru menjadi proses lain yang sedang di-debug. Jika proses panggilan bukan proses debug, tidak ada tindakan terkait penelusuran kesalahan yang terjadi.
-
Create_Suspended (4)
-
Utas utama proses baru dibuat dalam status ditangguhkan dan tidak berjalan sampai metode ResumeThread dipanggil.
-
Detached_Process (8)
-
Untuk proses konsol, proses baru tidak memiliki akses ke konsol proses induk. Bendera ini tidak dapat digunakan jika bendera Create_New_Console diatur.
-
Create_New_Console (16)
-
Proses baru ini memiliki konsol baru, alih-alih mewarisi konsol induk. Bendera ini tidak dapat digunakan dengan bendera Detached_Process .
-
Create_New_Process_Group (512)
-
Proses baru ini adalah proses akar dari grup proses baru. Grup proses mencakup semua proses yang merupakan keturunan dari proses akar ini. Pengidentifikasi proses grup proses baru sama dengan pengidentifikasi proses yang dikembalikan di properti ProcessID dari kelas Win32_Process . Grup proses digunakan oleh metode GenerateConsoleCtrlEvent untuk mengaktifkan pengiriman sinyal CTRL+C atau sinyal CTRL+BREAK ke sekelompok proses konsol.
-
Create_Unicode_Environment (1024)
-
Pengaturan lingkungan yang tercantum di properti EnvironmentVariables menggunakan karakter Unicode. Jika bendera ini tidak diatur, blok lingkungan menggunakan karakter ANSI.
-
Create_Default_Error_Mode (67108864)
-
Proses yang baru dibuat diberikan mode kesalahan default sistem dari proses panggilan alih-alih mewarisi mode kesalahan dari proses induk. Bendera ini berguna untuk aplikasi shell multithreaded yang berjalan dengan kesalahan keras dinonaktifkan.
-
CREATE_BREAKAWAY_FROM_JOB (16777216)
-
Digunakan untuk proses yang dibuat agar tidak dibatasi oleh objek pekerjaan.
EnvironmentVariables
-
Jenis data: array string
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32Registry|HKEY_CURRENT_USER\\Environment")
Daftar pengaturan untuk konfigurasi komputer. Variabel lingkungan menentukan jalur pencarian untuk file, direktori untuk file sementara, opsi khusus aplikasi, dan informasi serupa lainnya. Sistem mempertahankan blok pengaturan lingkungan untuk setiap pengguna dan satu untuk komputer. Blok lingkungan sistem mewakili variabel lingkungan untuk semua pengguna komputer tertentu. Blok lingkungan pengguna mewakili variabel lingkungan yang dikelola sistem untuk pengguna tertentu, dan menyertakan serangkaian variabel lingkungan sistem. Secara default, setiap proses menerima salinan blok lingkungan untuk proses induknya. Biasanya, ini adalah blok lingkungan untuk pengguna yang masuk. Proses dapat menentukan blok lingkungan yang berbeda untuk proses anaknya.
ErrorMode
-
Jenis data: uint16
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Fungsi Kesalahan| SetErrorMode")
Pada beberapa prosesor non-x86, referensi memori yang tidak sejajar menyebabkan pengecualian kesalahan perataan. Bendera No_Alignment_Fault_Except memungkinkan Anda mengontrol apakah sistem operasi secara otomatis memperbaiki kesalahan penyelarasan tersebut atau membuatnya terlihat oleh aplikasi. Pada jutaan instruksi per detik (MIPS), aplikasi harus secara eksplisit memanggil SetErrorMode dengan bendera No_Alignment_Fault_Except agar sistem operasi secara otomatis memperbaiki kesalahan penyelarasan.
Bagaimana sistem operasi memproses beberapa jenis kesalahan serius. Anda dapat menentukan bahwa kesalahan proses sistem operasi, atau aplikasi dapat menerima dan memproses kesalahan.
Pengaturan default adalah agar sistem operasi membuat kesalahan penyelarasan terlihat oleh aplikasi. Karena platform x86 tidak membuat kesalahan penyelarasan terlihat oleh aplikasi, bendera No_Alignment_Fault_Except tidak membuat sistem operasi menaikkan kesalahan penyelarasan—bahkan jika bendera tidak diatur. Status default untuk SetErrorMode adalah mengatur semua bendera ke 0 (nol).
(1)
Default
Fail_Critical_Errors (2)
Jika bendera ini diatur, sistem operasi tidak menampilkan kotak pesan handler kesalahan penting ketika kesalahan tersebut terjadi. Sebaliknya, sistem operasi mengirimkan kesalahan ke proses panggilan.
No_Alignment_Fault_Except (4)
Jika bendera ini diatur, sistem operasi secara otomatis memperbaiki kesalahan penyelarasan memori dan membuatnya tidak terlihat oleh aplikasi. Ini dilakukan untuk proses panggilan dan keturunan. Bendera ini hanya berlaku untuk pengurangan komputasi set instruksi (RISC), dan tidak berpengaruh pada prosesor x86.
No_GP_Fault_Error_Box (8)
Jika bendera ini diatur, sistem operasi tidak menampilkan kotak pesan kesalahan perlindungan umum (GP) saat terjadi kesalahan GP. Bendera ini hanya boleh diatur oleh aplikasi debugging yang menangani kesalahan GP.
No_Open_File_Error_Box (16)
Jika bendera ini diatur, sistem operasi tidak menampilkan kotak pesan ketika gagal menemukan file. Sebaliknya, kesalahan dikembalikan ke proses panggilan. Bendera ini saat ini diabaikan.
FillAttribute
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|dwFillAttribute")
Teks dan warna latar belakang jika jendela konsol baru dibuat di aplikasi konsol. Nilai-nilai ini diabaikan dalam aplikasi antarmuka pengguna grafis (GUI). Untuk menentukan warna latar depan dan latar belakang, tambahkan nilai bersama-sama. Misalnya, untuk memiliki jenis merah (4) pada latar belakang biru (16), atur FillAttribute ke 20.
1
Foreground_Blue
2
Foreground_Green
4
Foreground_Red
8
Foreground_Intensity
16
Background_Blue
32
Background_Green
64
Background_Red
128
Background_Intensity
PriorityClass
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| JOBOBJECT_BASIC_LIMIT_INFORMATION| PriorityClass")
Kelas prioritas dari proses baru. Gunakan properti ini untuk menentukan prioritas jadwal utas dalam proses. Jika properti dibiarkan null, kelas prioritas default ke Normal—kecuali kelas prioritas proses pembuatan diam atau Below_Normal. Dalam kasus ini, proses anak menerima kelas prioritas default dari proses panggilan.
Normal (32)
Menunjukkan proses normal tanpa kebutuhan jadwal khusus.
Menganggur (64)
Menunjukkan proses dengan utas yang hanya berjalan ketika sistem diam dan didahulukan oleh utas dari proses apa pun yang berjalan di kelas prioritas yang lebih tinggi. Contohnya adalah pengaman layar. Kelas prioritas menganggur diwariskan oleh proses anak.
Tinggi (128)
Menunjukkan proses yang melakukan tugas penting waktu yang harus segera dijalankan untuk berjalan dengan benar. Utas proses kelas prioritas tinggi mendahului utas proses kelas prioritas normal atau prioritas diam. Contohnya adalah Daftar Tugas Windows, yang harus merespons dengan cepat ketika dipanggil oleh pengguna, terlepas dari beban pada sistem operasi. Gunakan perawatan ekstrem saat menggunakan kelas prioritas tinggi, karena aplikasi terikat CPU kelas prioritas tinggi dapat menggunakan hampir semua siklus yang tersedia. Hanya utas preempts prioritas real-time yang diatur ke tingkat ini.
Realtime (256)
Menunjukkan proses yang memiliki prioritas tertinggi. Utas proses kelas prioritas real time mendahului utas semua proses lainnya—termasuk utas prioritas tinggi dan proses sistem operasi yang melakukan tugas-tugas penting. Misalnya, proses real-time yang dijalankan untuk lebih dari interval yang sangat singkat dapat menyebabkan cache disk tidak menyiram, atau menyebabkan mouse tidak responsif.
Below_Normal (16384)
Menunjukkan proses yang memiliki prioritas lebih tinggi dari Diam tetapi lebih rendah dari Normal.
Above_Normal (32768)
Menunjukkan proses yang memiliki prioritas lebih tinggi dari Normal tetapi lebih rendah dari Tinggi.
TampilkanWindow
-
Jenis data: uint16
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|wShowWindow")
Bagaimana jendela ditampilkan kepada pengguna. Ini bisa menjadi salah satu nilai yang dapat ditentukan dalam parameter nCmdShow untuk fungsi ShowWindow .
Judul
-
Jenis data: string
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|lpTitle")
Teks ditampilkan di bilah judul saat jendela konsol baru dibuat; digunakan untuk proses konsol. Jika NULL, nama file yang dapat dieksekusi digunakan sebagai judul jendela. Properti ini harus NULL untuk GUI atau proses konsol yang tidak membuat jendela konsol baru.
WinstationDesktop
-
Jenis data: string
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|lpDesktop")
Nama desktop atau nama desktop dan stasiun jendela untuk proses tersebut. Garis miring terbelakang dalam string menunjukkan bahwa string menyertakan nama stasiun desktop dan jendela. Jika WinstationDesktop adalah NULL, proses baru mewarisi desktop dan stasiun jendela proses induknya. Jika WinstationDesktop adalah string kosong, prosesnya tidak mewarisi stasiun desktop dan jendela dari proses induknya. Sistem menentukan apakah desktop dan stasiun jendela baru harus dibuat. Stasiun jendela adalah objek aman yang berisi clipboard, sekumpulan atom global, dan sekelompok objek desktop. Stasiun jendela interaktif yang ditetapkan ke sesi masuk pengguna interaktif juga berisi keyboard, mouse, dan perangkat tampilan. Desktop adalah objek aman yang terkandung dalam stasiun jendela. Desktop memiliki permukaan tampilan logis dan berisi jendela, menu, dan kait. Stasiun jendela dapat memiliki beberapa desktop. Hanya desktop stasiun jendela interaktif yang dapat terlihat dan menerima input pengguna.
X
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|dwX")
Offset X dari sudut kiri atas jendela jika jendela baru dibuat—dalam piksel. Offset berasal dari sudut kiri atas layar. Untuk proses GUI, posisi yang ditentukan digunakan saat pertama kali proses baru memanggil CreateWindow untuk membuat jendela yang tumpang tindih jika parameter Xdari CreateWindowCW_USEDEFAULT.
[! Catatan X]
dan Y tidak dapat ditentukan secara independen.
XCountChars
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO| XCountChars")
Lebar buffer layar dalam kolom karakter. Properti ini digunakan untuk proses yang membuat jendela konsol, dan diabaikan dalam proses GUI.
Catatan
XCountChars dan YCountChars tidak dapat ditentukan secara independen.
XSize
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|dwXSize")
Lebar piksel jendela jika jendela baru dibuat. Untuk proses GUI, ini hanya digunakan saat pertama kali proses baru memanggil CreateWindow untuk membuat jendela yang tumpang tindih jika parameter nWidth dari CreateWindowCW_USEDEFAULT.
Catatan
XSize dan YSize tidak dapat ditentukan secara independen.
Y
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|dwY")
Offset piksel sudut kiri atas jendela jika jendela baru dibuat. Offset berasal dari sudut kiri atas layar. Untuk proses GUI, posisi yang ditentukan digunakan saat pertama kali proses baru memanggil CreateWindow untuk membuat jendela yang tumpang tindih jika parameter yCreateWindowCW_USEDEFAULT.
[! Catatan X]
dan Y tidak dapat ditentukan secara independen.
YCountChars
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO| YCountChars")
Tinggi buffer layar dalam baris karakter. Properti ini digunakan untuk proses yang membuat jendela konsol, tetapi diabaikan dalam proses GUI.
Catatan
XCountChars dan YCountChars tidak dapat ditentukan secara independen.
Ukuran Y
-
Jenis data: uint32
-
Jenis akses: Baca/tulis
-
Kualifikasi: MappingStrings ("Win32API| Struktur Proses dan Utas| STARTUPINFO|dwYSize")
Tinggi piksel jendela jika jendela baru dibuat. Untuk proses GUI, ini hanya digunakan pertama kali proses baru memanggil CreateWindow untuk membuat jendela yang tumpang tindih jika parameter nWidth dari CreateWindowCW_USEDEFAULT.
Catatan
XSize dan YSize tidak dapat ditentukan secara independen.
Keterangan
Kelas ini berasal dari Win32_MethodParameterClass.
Gambaran Umum
Metode Win32_ProcessCreate memungkinkan Anda mengonfigurasi opsi startup untuk setiap proses baru yang berjalan di komputer. Misalnya, Anda dapat mengonfigurasi proses sehingga dimulai di jendela "tersembunyi", yang mencegah pengguna melihat, dan mungkin mengganggunya. Jika proses berjalan di jendela perintah, Anda dapat mengonfigurasi ukuran, judul, dan latar depan dan warna latar belakang jendela.
Opsi startup dikonfigurasi menggunakan kelas Win32_ProcessStartup . Win32_ProcessStartup adalah kelas Jenis Metode; kelas Jenis Metode hanya ada untuk meneruskan informasi ke metode . Dalam hal ini, semua properti instans Win32_ProcessStartup diteruskan ke instans Win32_Process.
Menggunakan Win32_ProcessStartup
- Buat instans Win32_ProcessStartup.
- Konfigurasikan properti instans baru.
- Sertakan instans sebagai bagian dari metode Win32_Process Create.
Misalnya, jika Anda telah membuat instans Win32_ProcessStartup bernama objConfig, Anda akan meneruskan nama objek dalam metode Buat sebagai berikut:
errReturn = objProcess.Create("Database.exe", null, objConfig, intProcessID)
Contoh
Anda dapat menggunakan kelas Win32_ProcessStartup untuk mengonfigurasi berbagai opsi startup untuk sebuah proses. Opsi ini termasuk, tetapi tidak terbatas pada, seperti membuat proses di jendela tersembunyi dan menciptakan proses prioritas yang lebih tinggi. VBScript berikut membuat proses di jendela tersembunyi.
Const HIDDEN_WINDOW = 12
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID)
VBScript berikut membuat proses prioritas yang lebih tinggi.
Const ABOVE_NORMAL = 32768
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = ABOVE_NORMAL
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
objProcess.Create "Database.exe", Null, objConfig, intProcessID
Contoh kode VBScript berikut membuat proses Notepad di komputer lokal. Win32_ProcessStartup digunakan untuk mengonfigurasi pengaturan proses.
Const SW_NORMAL = 1
strComputer = "."
strCommand = "Notepad.exe"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
' Configure the Notepad process to show a window
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = SW_NORMAL
' Create Notepad process
Set objProcess = objWMIService.Get("Win32_Process")
intReturn = objProcess.Create _
(strCommand, Null, objConfig, intProcessID)
If intReturn <> 0 Then
Wscript.Echo "Process could not be created." & vbNewLine & _
"Command line: " & strCommand & vbNewLine & _
"Return value: " & intReturn
Else
Wscript.Echo "Process created." & vbNewLine & _
"Command line: " & strCommand & vbNewLine & _
"Process ID: " & intProcessID
End If
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Ruang nama |
Root\CIMV2 |
MOF |
|
DLL |
|
Lihat juga