shell学习简介

本文探讨了Windows Shell的基本组成部分,包括Explorer.exe的功能模块如Programmanager、Taskbar等,并介绍了Shell编程的方式及其核心概念,例如文件对象、PIDLs等。此外还详细解释了Shell extensions的作用及其实现机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell:
进程:Explorer.exe
组件
1.Program manager  //ListView 和Header control组成
2.Taskbar
3.Desktop
桌面上的图标只是ListView显示的一些内容

Shell extension
是将自己代码让Explorer.exe来执行
Shell extension有两点
1.shell view extension
2.namespace extension

Shell的编程方式:
1.API  //let you access the basix functionality of the shell
2.COM  //approach springs into life


Shell
Shell由folder组成
1.namespace
the collection of all folders is called the shell's namespace

a.ordinary folders(file folders)
b.custom folders

2.file object
file object is not always a file,a file is a file object
file object is elements of folder

how to identify each item in shell's namespace?
path like files(c:/program file/network.txt)?
and others like network disk?
a general way of identifying its items is needed.

3.PIDLs
PIDL -the acronym stands for poiter to an identifer list
Drive/Directoty/File/Ext--------->Path Name
  |       |       |    |
Item    Item     Item  Item
 ID      ID       ID    ID   ---->ITEMIDLIST

ITEMID(cb,..)
the next element in the list can be calculated by adding cb bytes to the address of
the current SHITEMID object
注册表中的项用ITEMIDLIST 表示
PITEMIDLIST--->ITEMID(KH_CLS_ROOT)--ITEMID(/htmlfile)--ITEM(DefaultValue)


hook --- a piece of code

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值