Tôi muốn làm điều gì đó với WMI (nhận một số thông báo sự kiện) vì vậy tôi bắt đầu với ví dụ đơn giản từ trang web MSDN:Không thể lấy tài sản đối tượng trong WMI (C++)
Receiving Event Notifications Through WMI
chương trình này nhận được một sự kiện thông báo (tạo quy trình) thông qua WMI và gọi hàm EventSink :: Cho biết khi nhận được sự kiện.
tôi đã sử dụng cùng mã trong liên kết ở trên (copy/quá khứ) với một sự thay đổi: trong EventSink lớp, hàm
HRESULT EventSink::Indicate(long lObjectCount, IWbemClassObject **apObjArray)
tôi thêm vài dòng để lấy một tài sản của đối tượng (đối tượng được trả về trong apObjArray):
for (int i = 0; i < lObjectCount; i++)
{
VARIANT varName;
hres = apObjArray[i]->Get(_bstr_t(L"Name"),
0, &varName, 0, 0);
//...
}
nay là Get (...) chức năng trả WBEM_E_NOT_FOUND (thuộc tính chỉ định không tìm thấy) không có vấn đề gì tôi tìm kiếm (chắc chắn từ tài liệu đi các thuộc tính đang có ...)
hãy cho tôi biết tôi đã bỏ lỡ điều gì?! bất kỳ trợ giúp nào được đánh giá cao.
Brilliant !!! Tôi yêu bạn !!!!!!!!: D – Edward83
nếu tôi đã đăng ký cho nhiều loại sự kiện, bạn có biết cách tìm loại trong cuộc gọi lại không? –
@RRUZ: Bạn có thể giúp tôi ở đây không: http://stackoverflow.com/questions/28897897/c-monitor-process-creation-and-termination-in-windows/28921442 – Jackzz