WMIでタスクスケジューラを列挙する方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ヤヨイ

WMIでタスクスケジューラを列挙する方法

#1

投稿記事 by ヤヨイ » 8年前

申し訳ありませんが、もう一点質問させてください。

タスクスケジューラのリストをWMIで取得したいのですが、以下のコードを実行してもwhileのループに入りません。(whileまでは到達しています)
調べたところWin32_ScheduledJobのセレクトで取得できると思うのですが・・・・
ご存知の方がいましたら教えていただけないでしょうか? よろしくお願いいたします。

コード:

 

BSTR bstrNamespace = (L"root\\cimv2");
if (CoCreateInstance (CLSID_WbemLocator,NULL ,CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER ,IID_IUnknown ,( void ** ) & pIWbemLocator) != S_OK) {
	return false;
}

if (pIWbemLocator->ConnectServer(bstrNamespace, NULL, NULL, NULL, 0,NULL, NULL,&pWbemServices) != S_OK) {
	return false;
}
HRESULT hRes;
BSTR strQuery = (L"Select * from Win32_ScheduledJob");
BSTR strQL = (L"WQL");
hRes = pWbemServices->ExecQuery(strQL, strQuery,WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumObject);
if (hRes != S_OK) {
	return false;
}

hRes = pEnumObject->Reset();
if (hRes != S_OK) {
	return false;
}

ULONG uCount = 1, uReturned;
IWbemClassObject* pClassObject = NULL;
while(pEnumObject->Next(WBEM_INFINITE,uCount, &pClassObject, &uReturned) == S_OK) {


	//ここにこない?

}


アバター
へにっくす
記事: 630
登録日時: 8年前
住所: 東京都

Re: WMIでタスクスケジューラを列挙する方法

#2

投稿記事 by へにっくす » 8年前

素朴な疑問。
なんで
hRes = pEnumObject->Reset();
これがあるの?
必要な処理?
written by へにっくす

閉鎖

“C言語何でも質問掲示板” へ戻る