Win2Kpro VC++6.0で開発しています

実行中のスクリーンセーバーを強制停止させるプログラムを書いているのですが

HDESKhScrDesk;
// ScreensaverDesktopを開く
if(!(hScrDesk = OpenDesktop("screen-saver",0,FALSE,DESKTOP_READOBJECTS | DESKTOP_WRITEOBJECTS)))
{
// Error処理
}

の部分でDesktopハンドルが取得できなくて困っています。GetLastError()の戻り値は
ERROR_FILE_NOT_FOUNDが返ってきています。
また、上記のコードのテストを行なう際にスクリーンセーバーを起動させてから数秒後に
上記コードが実行されるようにテストプログラムを作って確認しているのでスクリーン
セーバーが実行されていないということはないと思います……アドバイスをお願いします