SFAuthorizationPluginView标识“BACK”按钮

时间:2009-12-16 09:51:12

标签: macos plugins authorization sfauthorizationpluginview

是否有任何有SFAuthorizationPluginView经验的人都知道如何识别用户之间按“取消”和“返回”。我的问题是 SFButtonTypeCancel SFButtonTypeBack 相同,因此 switch 语句在编译时会失败,而 if >声明不承认差异。

当将登录屏幕显示为“名称和密码”时,这不是问题,但当显示为“用户列表”时,将“返回”作为“取消”处理会使登录窗口重新启动而不是很好地转移到列表。

此致 艾伦

1 个答案:

答案 0 :(得分:0)

要回答我自己的问题,登录窗口在快速用户切换时有一个取消按钮,在登录屏幕时有一个BACK按钮,因此我设法通过以下代码识别两个按钮:

    CFStringRef str_console_uname;
    uid_t       uid;
    gid_t       gid;

    // get console username
    str_console_uname = SCDynamicStoreCopyConsoleUser(NULL,
                                                      &uid,
                                                      &gid);
    if (!str_console_uname ||
        [(NSString *)str_console_uname compare:@"loginwindow"] == 0)
    {
        /* BACK BUTTON */
    }
    else
    {
        /* CANCEL BUTTON */
    }