易语言Shell外壳运行源码
系统结构:枚举快捷方式菜单,ParseDisplayName,EnumObjects,BindToObject,QueryInterface,AddRef,Release,bstr_t,A2W,W2A,CallObject,调用子程序_,指针到整数,取整数型指针,StringToGUID,StringToGUID_,取字节集指针,Next,Skip,Reset,Clone,IsDirty,Load,Save,SaveCompleted,GetCurFile,GetPath,系统_枚举桌面快捷方式,系统_取快捷方式指向,系统_取桌面路径,SHGetDesktopFolder,SHGetSpecialFolderLocation,SHGetSpecialFolderPathA,SysAllocString,MultiByteToWideChar,SHGetMalloc,CoTaskMemAlloc,CoTaskMemFree,SHGetSpecialFolderPathW,CLSIDFromString,lstrcpyn_字节集,SHGetDataFromIDListA,WideCharToMultiByte,CoCreateInstance,CoInitialize,CoUninitialize,CLSIDFromString_,SysStringLen,ImageList_Destroy,ImageList_Create,ImageList_SetBkColor,ImageList_AddIcon,DestroyIcon,SHGetFileInfo,AppendMenuA,CreatePopupMenu,TrackPopupMenuEx,GetCursorPos,WaitForMultipleObjects,
======窗口程序集_启动窗口
| |
| |------ _按钮1_被单击
| |
| |------ _超级列表框1_鼠标右键被按下
| |
| |------ 枚举快捷方式菜单
| |
| |------ __启动窗口_首次激活
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_创建完毕
| |
| |
======IID_IShellFolder
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ ParseDisplayName
| |
| |------ EnumObjects
| |
| |------ BindToObject
| |
| |
======IID_IUnknown
| |
| |------ QueryInterface
| |
| |------ AddRef
| |
| |------ Release
| |
| |
======Functions
| |
| |------ bstr_t
| |
| |------ A2W
| |
| |------ W2A
| |
| |------ CallObject
| |
| |------ 调用子程序_
| |
| |------ 指针到整数
| |
| |------ 取整数型指针
| |
| |------ StringToGUID
| |
| |------ StringToGUID_
| |
| |------ 取字节集指针
| |
| |
======IID_IEnumIDList
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ Next
| |
| |------ Skip
| |
| |------ Reset
| |
| |------ Clone
| |
| |
======IID_IPersistFile
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ IsDirty
| |
| |------ Load
| |
| |------ Save
| |
| |------ SaveCompleted
| |
| |------ GetCurFile
| |
| |
======IID_IShellLink
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ GetPath
| |
| |
======Shell
| |
| |------ 系统_枚举桌面快捷方式
| |
| |------ 系统_取快捷方式指向
| |
| |------ 系统_取桌面路径
| |
| |
======调用的Dll
| |
| |---[dll]------ SHGetDesktopFolder
| |
| |---[dll]------ SHGetSpecialFolderLocation
| |
| |---[dll]------ SHGetSpecialFolderPathA
| |
| |---[dll]------ SysAllocString
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ SHGetMalloc
| |
| |---[dll]------ CoTaskMemAlloc
| |
| |---[dll]------ CoTaskMemFree
| |
| |---[dll]------ SHGetSpecialFolderPathW
| |
| |---[dll]------ CLSIDFromString
| |
| |---[dll]------ lstrcpyn_字节集
| |
| |---[dll]------ SHGetDataFromIDListA
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ CoCreateInstance
| |
| |---[dll]------ CoInitialize
| |
| |---[dll]------ CoUninitialize
| |
| |---[dll]------ CLSIDFromString_
| |
| |---[dll]------ SysStringLen
| |
| |---[dll]------ ImageList_Destroy
| |
| |---[dll]------ ImageList_Create
| |
| |---[dll]------ ImageList_SetBkColor
| |
| |---[dll]------ ImageList_AddIcon
| |
| |---[dll]------ DestroyIcon
| |
| |---[dll]------ SHGetFileInfo
| |
| |---[dll]------ AppendMenuA
| |
| |---[dll]------ CreatePopupMenu
| |
| |---[dll]------ TrackPopupMenuEx
| |
| |---[dll]------ GetCursorPos
| |
| |---[dll]------ WaitForMultipleObjects
调用的DLL命令:
.DLL命令 SHGetDesktopFolder, 整数型, "shell32.dll", "SHGetDesktopFolder"
.参数 ppshf, 整数型, 传址
.DLL命令 SHGetSpecialFolderLocation, 整数型, "shell32.dll", "SHGetSpecialFolderLocation"
.参数 hwnd, 整数型
.参数 csidl, 整数型
.参数 ppidl, , 传址
.DLL命令 SHGetSpecialFolderPathA, 整数型, "shell32.dll", "SHGetSpecialFolderPathA"
.参数 hwnd, 整数型
.参数 pszPath, 文本型
.参数 csidl, 整数型
.参数 fCreate, 整数型
.DLL命令 SysAllocString, 整数型, "oleaut32.dll", "SysAllocString"
.参数 pOlechar, 字节集
.DLL命令 MultiByteToWideChar, 整数型, , "MultiByteToWideChar"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.DLL命令 SHGetMalloc, 整数型, "shell32.dll", "SHGetMalloc"
.参数 ppMalloc, 整数型, 传址
.DLL命令 CoTaskMemAlloc, 整数型, "ole32.dll", "CoTaskMemAlloc"
.参数 cb, 整数型
.DLL命令 CoTaskMemFree, , "ole32.dll", "CoTaskMemFree"
.参数 pv, 整数型
.DLL命令 SHGetSpecialFolderPathW, 整数型, "shell32.dll", "SHGetSpecialFolderPathW"
.参数 hwnd, 整数型
.参数 pszPath, 字节集
.参数 csidl, 整数型
.参数 fCreate, 整数型
.DLL命令 CLSIDFromString, 整数型, "ole32.dll", "CLSIDFromString"
.参数 lpsz, 字节集
.参数 pclsid
.DLL命令 lstrcpyn_字节集, 整数型, , "lstrcpyn", , 内存操作
.参数 欲取其指针, 字节集, 传址
.参数 欲取其指针, 字节集, 传址
.参数 保留, 整数型, , 0
.DLL命令 SHGetDataFromIDListA, 整数型, "shell32.dll", "SHGetDataFromIDListA"
.参数 psf, 整数型
.参数 pidl
.参数 nFormat, 整数型
.参数 pv, WIN32_FIND_DATA
.参数 cb, 整数型
.DLL命令 WideCharToMultiByte, 整数型, , "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 文本型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 CoCreateInstance, 整数型, "ole32.dll", "CoCreateInstance", , 窗口_在任务栏中显示
.参数 rclsid, GUID
.参数 pUnkOuter, 整数型
.参数 dwClsContext, 整数型
.参数 riid, GUID
.参数 ppv, 整数型, 传址
.DLL命令 CoInitialize, 整数型, "ole32.dll", "CoInitialize"
.参数 pvReserved, 整数型
.DLL命令 CoUninitialize, 整数型, "ole32.dll", "CoUninitialize"
.DLL命令 CLSIDFromString_, 整数型, "ole32.dll", "CLSIDFromString"
.参数 lpsz, 字节集
.参数 pclsid, GUID
.DLL命令 SysStringLen, 整数型, "oleaut32.dll", "SysStringLen"
.参数 bstr
.DLL命令 ImageList_Destroy, 整数型, "comctl32.dll", "ImageList_Destroy"
.参数 himl, 整数型
.DLL命令 ImageList_Create, 整数型, "comctl32.dll", "ImageList_Create"
.参数 cx, 整数型
.参数 cy, 整数型
.参数 flags, 整数型
.参数 cInitial, 整数型
.参数 cGrow, 整数型
.DLL命令 ImageList_SetBkColor, 整数型, "comctl32.dll", "ImageList_SetBkColor"
.参数 himl, 整数型
.参数 clrBk, 整数型
.DLL命令 ImageList_AddIcon, 整数型, "comctl32.dll", "ImageList_AddIcon", , 来自EVA辅助库
.参数 arg_01
.参数 arg_02
.DLL命令 DestroyIcon, 整数型, "user32", "DestroyIcon"
.参数 hIcon, 整数型
.DLL命令 SHGetFileInfo, 整数型, , "SHGetFileInfo"
.参数 pszPath, 文本型
.参数 dwFileAttributes, 整数型
.参数 psfi, SHFILEINFO
.参数 cbFileInfo, 整数型
.参数 uFlags, 整数型
.DLL命令 AppendMenuA, 整数型, "user32", "AppendMenuA"
.参数 hMenu, 整数型
.参数 wFlags, 整数型
.参数 wIDNewItem, 整数型
.参数 lpNewItem, 文本型
.DLL命令 CreatePopupMenu, 整数型, "user32", "CreatePopupMenu"
.DLL命令 TrackPopupMenuEx, 整数型, "user32.dll", "TrackPopupMenuEx", , 与TrackPopupMenu相似,只是它提供了额外的功能
.参数 菜单句柄, 整数型, , 弹出式菜单的句柄
.参数 标志, 整数型, , 定位标志和鼠标追踪标志的组合。参考TrackPopupMenu,另外还包括两个标志:TPM_HORIZONTAL或TPM_VERTICAL。参考lpTPMParams参数的说明
.参数 横坐标, 整数型, , 定义了弹出式菜单位置的一个x,y点(n1,n2),用屏幕坐标表示
.参数 纵坐标, 整数型, , 定义了弹出式菜单位置的一个x,y点(n1,n2),用屏幕坐标表示
.参数 窗口句柄, 整数型, , 用于接收弹出式菜单命令的窗口的句柄。应该使用特定窗体的窗口句柄,该窗体有一个菜单能够与弹出式菜单一样接收相同的命令ID集
.参数 扩展参数结构, , , TPMPARAMS,指向一个TPMPARAMS结构的指针。这个结构包含了一个矩形,规定了不能由这个弹出式菜单覆盖的区域。如果在un参数中指定了TPM_HORIZONTAL标志,windows就会试着设置水平位置,将弹出式菜单垂直移到这个矩形的外部。如指定了TPM_VERTICAL,那么windows会试着水平移动弹出式菜单的位置
.DLL命令 GetCursorPos, 整数型, "user32", "GetCursorPos"
.参数 lpPoint, POINTAPI
.DLL命令 WaitForMultipleObjects, 整数型, "kernel32", "WaitForMultipleObjects"
.参数 nCount, 整数型
.参数 lpHandles, 整数型, 数组
.参数 bWaitAll, 逻辑型
.参数 dwMilliseconds, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。