未公开API函数揭秘——通用对话框
发布日期:2021-06-29 03:43:29
浏览次数:3
分类:技术文章
本文共 1404 字,大约阅读时间需要 4 分钟。
COMDLG32.DLL 为我们提供了一些很有用的对话框,但是仍然有部分我们可能会用到的系统对话框它却没
有提供。如果试图复制这些系统对话框将是一件麻烦的苦差事。幸好shell32.dll为我们提供了这些对话
框,本文将带你去发掘一些未公开的API函数,以实现这些对话框。在使用未公开的API函数之前,你必须知道声明未公开的API函数与声明那些公开的API函数略有不同,那
就是,你必须用到未公开API函数的顺序号(ordinal number)。这个顺序号就是未公开函数的别名。也
就是说在声明未公开API函数时,必须加上它的别名。例如下面要说到的PickIconDlg函数的顺序号为62,
它的别名就是"#62"。如果不这样做,系统会提示你找不到函数的入口点。选取图标BOOL WINAPI PickIconDlg( HWND hwndOwner, LPSTR lpstrFile, DWORD nMaxFile, LPDWORD lpdwIconIndex);该函数的顺序号为62。hwndOwner拥有该对话框的窗口句柄 lpstrFile指向一个缓冲,包含初始的文件名。函数返回后它就包含
新的文件名。nMaxFile指定缓冲的大小,以字符为单位。 lpdwIconIndex指向一个变量其中包含基于零
的图标的索引。函数返回后它包含新图标的索引值。 如果用户选择了图标,则返回值为真,如果用户选择
取消按钮或是系统菜单的关闭选项则返回值为假。运行程序对话框void WINAPI RunFileDlg( HWND hwndOwner, HICON hIcon, LPCSTR lpstrDirectory, LPCSTR lpstrTitle, LPCSTR lpstrDescription, UINT uFlags);该函数的顺序号为61。在VB中可声明如下:Private Declare Function RunFileDlg Lib "shell32" Alias "#61" (ByVal hwndOwner _
As Long, ByVal hIcon As Long, ByVal lpstrDirectory As String, ByVal lpstrTitle _
As String, ByVal lpstrDescription As String, ByVal uFlags As Long) As Long其中uFlags参数的可选值为RFF_NOBROWSE 0x01 Removes the browse button. RFF_NODEFAULT 0x02 No default item selected. RFF_CALCDIRECTORY 0x04 Calculates the working directory from the file name. RFF_NOLABEL 0x08 Removes the edit box label. RFF_NOSEPARATEMEM 0x20 Removes the Separate Memory Space check box (Windows NT
only).
转载地址:https://blog.csdn.net/zcsor/article/details/1739836 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月08日 19时19分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python初学者入门学习笔记:字符串的操作(重复/转换/替换/原始字符串)
2019-04-29
python初学者入门学习笔记:字符串的操作(去除/查询/计数)
2019-04-29
python初学者入门学习笔记:字符串的操作(获取输入/格式化)
2019-04-29
python初学者入门学习笔记:数据结构列表
2019-04-29
python初学者入门学习笔记:数据结构集合
2019-04-29
python初学者入门学习笔记:数据结构字典
2019-04-29
python初学者入门学习笔记:循环
2019-04-29
python初学者入门学习笔记:条件/跳出与结束循环
2019-04-29
python初学者入门学习笔记:运算符与随机数
2019-04-29
python初学者入门学习笔记:关键字
2019-04-29
python初学者入门学习笔记:内置函数
2019-04-29
python:Requests+正则爬取网页数据
2019-04-29
Python:模拟 Ajax 请求抓取今日头条街拍美图
2019-04-29
映射ngrok使用,免费开源工具
2019-04-29
Python自学(一)Python安装和环境配置...非喜轻喷
2019-04-29
Java环境变量和安装(自用备忘)
2019-04-29
webpack One CLI for webpack must be installed. These are recommended choices, delivered as separate
2019-04-29
【解决】Cannot find module 'webpack'_npm
2019-04-29
dubbo集成springboot demo for idea
2019-04-29