2024年2月19日发(作者:)

程序自启动、应用图标隐藏、程序窗口置顶

1、 程序窗口位于桌面最上方。

了解NSWindow属性

backgroundColor、opaque、hasShadow、hidesOnDeactivate、level

//设置窗口的背景色olor返回的NSColor对象的灰度和alpha都是零(黑色)。

oundColor = olor;

//设置窗口的位置,一直在窗口的最前方。

= CGShieldingWindowLevel();

//设置窗口的透明度,NO :透明,YES :不透明。

= NO;

//设置窗口的阴影效果,NO :取消阴影效果, YES :加上阴影效果。

dow = NO;

//程序释放,窗口是否从屏幕上移除,NO :不移除, YES :移除。

nDeactivate = NO;

自定义函数:

-(void)PropertiesWindow

{

//设置窗口的背景色olor返回的NSColor对象的灰度和alpha都是零(黑色)。

oundColor = olor;

//设置窗口的位置,一直在窗口的最前方。

= CGShieldingWindowLevel();

//设置窗口的透明度,NO :透明,YES :不透明。

= NO;

//设置窗口的阴影效果,NO :取消阴影效果, YES :加上阴影效果。

dow = NO;

//程序释放,窗口是否从屏幕上移除,NO :不移除, YES :移除。

nDeactivate = NO;

}

在-(void)awakeFromNib函数中直接调用PropertiesWindow即可预览效果

-(void)awakeFromNib

{

//设置窗口属性

[selfPropertiesWindow];

}

效果如图:

我选择X-code 窗口,Transparent window应用程序一直显示在最上方没有被x-code窗口覆盖。

2、 应用程序图标隐藏

如图:

选择Transparent window工程,选择TARGETS下 Transparent window

选择info,点击+按钮,添加一个Application is agent(UIElement) 设置为YES :隐藏应用程序图标, NO :不隐藏应用程序图标,默认是NO。

效果如下:

3、 设置应用程序的自启动

1、 先获取应用程序路径。

2、 转换路径引用。

3、 设置为哪个用户添加启动项。

4、 将项目插入启动项表中。

实现:创建-(void)addAppAutomaticStartup

-(void)addAppAutomaticStartup

{

//获取程序的路径例如:/Applications/

NSString * appPath = [[NSBundlemainBundle] bundlePath];

// 创建路径的引用

CFURLRefurl = (__bridgeCFURLRef)[NSURLfileURLWithPath:appPath];

//为用户添加启动项

// 我们只为当前用户添加启动项,所以我们用kLSSharedFileListSessionLoginItems

// 如果要为全部用户添加,则替换为kLSSharedFileListGlobalLoginItems

LSSharedFileListRefloginItems = LSSharedFileListCreate(NULL,

kLSSharedFileListSessionLoginItems, NULL);

if (loginItems)

{

//将项目插入启动表中.

LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(loginItems,

kLSSharedFileListItemLast, NULL, NULL,url, NULL, NULL);

if (item)

{

CFRelease(item);

}

}

CFRelease(loginItems);

}

-(void)awakeFromnib函数中调用addAppAutomaticStartup

运行之后查看启动项里面的启动项:

系统偏好设置->用户和群组-登陆项

如图: