WIN32_FIND_DATA это правда [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 WIN32_FIND_DATA это правда [закрыто]

Сообщение Anonymous »

Использовать преобразование ASCII в MS932
Преобразовать строку в байтовый ASCII
GetEncoding ms932
Преобразовать байт в строку ms932S
Использовать преобразование ASCII в MS932
Преобразовать строку в байтовый ASCII
GetEncoding ms932
Преобразовать байт в строку ms932S
Использовать преобразование ASCII в MS932
Преобразовать строку в байт ASCII
GetEncoding ms932
Преобразовать байт в строку ms932S

using System;
using System.Management;
using System.IO;

class Program
{
static void Main()
{
// Tạo đối tượng WMI query
string query = "SELECT ProcessId, Name, ExecutablePath FROM Win32_Process";

// Tạo một đối tượng quản lý WMI để thực hiện truy vấn
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

// Thực thi truy vấn và duyệt qua kết quả
foreach (ManagementObject process in searcher.Get())
{
try
{
// Lấy các thông tin của tiến trình
string processId = process["ProcessId"].ToString();
string processName = process["Name"].ToString();
string executablePath = process["ExecutablePath"] != null ? process["ExecutablePath"].ToString() : "N/A";

// Lấy phần mở rộng từ đường dẫn thực thi
string extension = Path.GetExtension(executablePath);

Console.WriteLine($"Process ID: {processId}, Name: {processName}, Executable Path: {executablePath}, Extension: {extension}");
}
catch (Exception ex)
{
Console.WriteLine($"Error retrieving process info: {ex.Message}");
}
}
}
}

using System;
using System.Diagnostics;
using System.IO;
using System.Management;

class Program
{
static void Main()
{
// Tạo đối tượng WMI query để lấy thông tin tiến trình
string query = "SELECT ProcessId, Name, ExecutablePath FROM Win32_Process";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

// Sử dụng vòng lặp vô tận để liên tục lấy thông tin
while (true)
{
try
{
// Lấy kết quả từ WMI query (Danh sách các tiến trình)
ManagementObjectCollection processList = searcher.Get();

// Sử dụng IEnumerator để duyệt qua các đối tượng trong ManagementObjectCollection
IEnumerator enumerator = processList.GetEnumerator();

while (enumerator.MoveNext()) // Duyệt qua các đối tượng với while
{
ManagementObject process = (ManagementObject)enumerator.Current;
try
{
// Lấy thông tin về tiến trình
string processId = process["ProcessId"].ToString();
string processName = process["Name"].ToString();
string executablePath = process["ExecutablePath"] != null ? process["ExecutablePath"].ToString() : "N/A";

// Lấy phần mở rộng từ đường dẫn tệp thực thi
string extension = Path.GetExtension(executablePath);

// In thông tin về tiến trình và phần mở rộng của tệp
Console.WriteLine($"Process ID: {processId}, Name: {processName}, Executable Path: {executablePath}, Extension: {extension}");
}
catch (Exception ex)
{
// Bắt lỗi nếu không thể truy xuất thông tin về một tiến trình cụ thể
Console.WriteLine($"Error accessing process: {ex.Message}");
}
}
}
catch (Exception ex)
{
// Bắt lỗi khi không thể truy vấn WMI
Console.WriteLine($"Error querying WMI: {ex.Message}");
}

// Thêm một thời gian nghỉ (delay) để không gây quá tải CPU
Console.WriteLine("\nWaiting for the next iteration...");
System.Threading.Thread.Sleep(5000); // 5 giây nghỉ trước khi lấy lại thông tin
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... a-its-true
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»