喜欢就点个赞,关注一下呗(hehe)
要点与思路:
1.非纯SHELL编程,父节点不是桌面,而是计算机。
2.融汇毕生所学,即
对文件,使用.net IO (.net的响应速度快于cmdlet)
对用户使用netapi32(图标函数不在netapi32中,应用另一动态链接库获取)(属性表找不到)和netplwiz
对会话使用wtsapi32
对服务使用advapi32(不稳定)(属性表找不到)
对证书使用powershell的cmdlet和win32 API(易崩溃)
对句柄使用ntdll(内核:NtQuarySystemInformation),kernel32
对二进制文件的图标使用shell32
对窗体使用user32(待完善),gdi32
对电脑上的设备使用WMI,setupapi和devmgr(待完善:使用纯setupapi枚举本地设备列表和图标)
关机使用ntdll,wtsapi32,user32,shell32,远程关机动态链接库
环境变量使用desk.cpl和powershell cmdlet
格式化磁盘使用shell32和字典
运行对话框和文件打开方式对话框、文件属性表采用shell32
共享文件使用netapi32,mpr,shell32
文件普通图标使用shell32 API 和user32
系统样式文件缩略图使用 shell32接口*
电源管理使用powercfg和.net和电源控制面板项
进程使用ntdll、kernel、shell32、powershell cmdlet、WMI
时间获取使用powershell cmdlet和timedate.cpl,时区API
新建中,只完成了文件夹和快捷方式(API对话框(NewLinkHereW函数*))
回收站,库采用shell的COM组件,shell32
打印机采用WMI和shell32,printui*
网络连接未完成(属性表和图标找不到)xwizards进行接口调用
防火墙空,只有监控部分完成(filewall***)
文件右键菜单无法做出(求助,),文件打开方式列表崩溃
系统开机启动项使用powershell cmdlet搜索注册表(推荐用.net)
对于二进制文件函数抽取使用kernel
文件标准复制移动删除对话框使用shell32
控件美化使用重写消息,user32,和utheme,system.drawing,gdi32
任务栏进度条使用?未知动态链接库的接口
任务栏闪烁使用user32
文件搜索使用函数的自调性和正则表达式
声音使用setupapi,控制面板项,声音接口,WMI(不稳定)
摄像头使用advcap32(不是advapi32)和user32(兼容性不高)和WMI
颜色管理使用colorui
字体尝试使用多种font*的动态链接库,但均失败
文件列表的刷新使用IO事件
压缩尝试采用zipfldr,但失败,决定使用ntdll或shell32(或kernel)
蓝牙使用API和控制面板项
喜欢就点个赞,关注一下呗(hehe)
展示:
求赞,求关注