[OS X]如何利用API设置OS X应用开机自启动
来源:互联网 发布:索尼淘宝官方旗舰店 编辑:程序博客网 时间:2024/06/05 16:36
我废话就不多说了,直接贴上代码了;
测试环境:Mac OS X 10.9.X /10.10
#import <Foundation/Foundation.h>#import <Foundation/NSURL.h>/** * @brief AutoStartClient 开机自启动 * @param pAppPath 应用程序路径 * @param isStart 是否开机启动, true 开机启动, false 取消开机启动 */void AutoStartClient(const char* pAppPath, bool isStart){ NSString* appPath = [[NSString alloc]initWithFormat:@"%s", pAppPath]; NSLog(appPath); LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); if(isStart){ //url为app所在的目录 CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:appPath]; LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemLast, NULL, NULL, url, NULL, NULL); CFRelease(item); }else{ UInt32 seedValue; CFURLRef thePath; CFArrayRef loginItemsArray = LSSharedFileListCopySnapshot(loginItems, &seedValue); for (id item in (NSArray *)loginItemsArray) { LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)item; if (LSSharedFileListItemResolve(itemRef, 0, (CFURLRef*) &thePath, NULL) == noErr) { //appPath目录为要取消开机启动app的路径 if ([[(NSURL *)thePath path] hasPrefix:appPath]) { LSSharedFileListItemRemove(loginItems, itemRef); // 删除指定的启动项 } CFRelease(thePath); } } CFRelease(loginItemsArray); } CFRelease(loginItems);}
0 0
- [OS X]如何利用API设置OS X应用开机自启动
- Mac OS X设置程序开机启动
- mac os x程序注册开机自启动
- mac os x下nginx开机自启动
- mac os x 设置 jenkins开机启动遇到的问题
- Mac OS X开机启动Redis
- Mac OS X 下 QQ 截图功能开机自启设置方法
- OS X 自动关机设置
- OS X应用程序设计
- 一键取消 OS X 开机启动项
- Mac OS X取消Apache(httpd)开机启动(转)
- Mac OS X取消Apache(httpd)开机启动
- Mac OS X 启动过程
- Mac OS X 环境变量设置
- Mac OS X系统设置
- Mac OS X ssh设置
- Mac OS X 设置指南
- OS X
- 配置赛孚耐NET10、50、250+网络产品加密锁的网络环境攻略
- 我想写一些可以表达心情的代码
- el表达式-4
- Spring Data Jpa 详解 (配置篇)
- el表达式-5
- [OS X]如何利用API设置OS X应用开机自启动
- 二十三、Shell文件包含
- java 的深度clone,对于对象里面还包含其它对象可使用流克隆法
- App 应用图标 取消高光 & Xcode 代码提示失效 &textfield禁止换行
- javaFX8初探(使用FXML创建登录表单)
- Twitter Storm开篇之作
- Permutations
- 内存分析工具 MAT 的使用
- 页面使用struts2标签获取List中的对象属性值,Struts2常用标签总结