2

Mac でディスプレイをスリープ状態にする次のコードがあります。Lion で試してみましたが、何もしないようです。ウィンドウ内のボタンと IBAction メソッドを備えたベアボーン ウィンドウ Mac アプリを作成して、コードをテストしました。ボタンが押されると、以下の関数が呼び出されますが、何も起こりません。

なぜそれが機能しないのかについての提案はありますか?

#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>

int display_sleep(void)
{
    io_registry_entry_t reg = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler");

    if (reg) 
    {
        IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue);
        IOObjectRelease(reg);
    } 
    else 
    {
        return 1;
    }

    return 0;
}
4

0 に答える 0