说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

未公开API函数揭秘——通用对话框-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
未公开API函数揭秘——通用对话框-VB资料


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).
抱大腿:Square礼品卡服务进驻Passbook 科技创新剑指开源产业 “龙芯杯”破题自主研发 25GPU的Linux集群6小时内破解标准Windows密码 Lady Gaga与大数据的“火花” 手势才是王道:3款应用捕获3个设计灵感 YouTube的挑战者 JustinTV教你如何打造实时视频网站 黑客挟持160万用户密码 抗议联合国监管互联网 Twitter面对危机火速上线照片滤镜产品 Nike推创业孵化器:每个参与团队获2万美金 傲游发布云浏览器 支持跨终端数据同步 12个git实战建议和技巧 用友UAP产品线总设计师史周军访谈录 IE10新功能解析 支持Media Query(图) 单页Web应用或引领下一代Web新趋势? [CTO俱乐部第89期]新时代的前端开发 [多图]160台Mac mini打造的数据中心机架 是谁动了我的CPU! 欧朋CEO:GPU加速是手机浏览器的新趋势 TOP30专访:Splashtop研发中心总经理Alex Xu 2012Q3国内App开发者半数以上入不敷出 细微之处见真章 为什么要在try-catch-finally里加大括号 独立开发者:面对攻击就要“脸皮厚+更自豪” IBM纳米光子芯片对付大数据 单个通道25Gbps AWS数据仓库服务Redshift是最好的选择吗? 又赚了一笔:微软向两公司收取Android专利费 深度解析:Android4.2系统“应用验证服务” 欧洲移动游戏大会:五大行业趋势 大揭秘:Windows Phone 8 键盘输入的8个设计精髓 朝鲜:探寻最神秘的移动互联网王国 如何让IE 10玩转响应式网站 Windows Server 2012:令CIO激动的三个新特性 WIN2000下如何在apache执行asp啊? 请问谁有给别人发email的java代码? 急用!谢谢! 请教COMBOBOX的用法 ---------这个语句应该怎样写?请高手指教!--------- ★★★★XP风格控件界面库★★动态库调用错误★★★★ 为什么老是出错啊 大家觉得LOTUS有前途吗? 为什么视图中明明有文档而在预览的时候就说没有文档呢?在notes下预览也没有。 清华版数据结构题集实习题目,在线等待!编译后马上发分!! 这个触发器怎么写? 请问搞底层开发和应用开发哪个更有前途? 请问搞底层开发和应用开发哪个更有前途? ★★★★XP风格控件界面库★★动态库调用错误★★★★ 在线答:有没有人用过TWebBrowser???? 有关异常的问题,请大家帮忙 高分求一个能调用vc写的dll的java类?(现在分用完了,百分之百给分500) 请问搞底层开发和应用开发哪个更有前途? 如何向VC的自动完成功能中加入DXSDK中的函数? 用vb做小型数据库应用程序,access做这类程序哪个更好一些?请说出理由. 关于在JBuilder9中开发嵌入式程序的问题 我想要一些用JB开发的源代码,有吗? 开发cmpp2过的高手们,关于connect命令,出错的问题, 我校一牛人**英语4**级作文!!!! 小弟刚开始接触汇编,望大家指教~ 采用CSocket进行收发出现的一个非常奇怪的问题,十万火急,急,急,急!!!! 请教DataGrid中HyperLinkColumn的用法 求助!请数据库高手回复!关于新建和复制表结构的问题!(续!) 用java写的将xml文件读入到Oracle9i中时出现如下错误。请高人指教(包括源程序) 一个简单的问题,如何显示进度? 为什么会出现这个错误啊????在线等,急。。。解决就给分。。。 两个没有人能解决的问题!靠!害得我吃不下饭! 动态的水晶报表,高高手来解一下,(快要绝种了```) 如何学好数学? 请问VS2003能安装在Windows server2003 下吗?(30分) cpu使用不断增多 为什么 如果调用Tprinter打印数据,那么怎么实现线数据预览? 两个类相互引用问题? 小问题,只要你不UP绝对有分! 为什么bind2nd(mem_fun_ref(&CLASS::Func),Para);CLASS::Func的参数不能是pass-by-(const)reference 在win-tc下编译成功的水仙花树怎么这样呢?? 请问大家JAVA SERVER端安全如何保障? 两个没有人能解决的问题!靠!害得我吃不下饭!(500分悬赏) 但在Access 中怎样查看数据库中是否存在某表? 斑竹啊斑竹, 我的帖子碍着你什么事, 你非得强结,非得把它转来转去的,你要知道,每一个帖子都是有自尊地. 莫非你就是冰棍和没头脑的叉叉叉 SUN SOLARIS下的字符显示问题,急!急!急! sos 第一次法帖,和大家聊聊我的郁闷…… 关于2000的非法操作问题 9.18深圳将组织一次爱国活动(深圳的爱国水友注意了!!!) 在线等待!编译问题! wap连接的问题!(分不够可以再加) 线路有电压时能用万能表测它的电阻吗? 写出最大公因数,最小公倍数写出最大公因数:(11,66)(19,57)(24,36)(51,17)最小公倍数:(11,4)(21,3)(5,19)(12,16)(5,25)(33,22)(6,5,7)(27,3,9) 英语翻译再说一次!自己水平有限翻译有困难!坐等不计较分数的好心人!关联理论提出翻译是一种语际间的阐释活动,为翻译中文化、语言等因素的处理提供了一个全新的视角.广告翻译没有固 收排允是什么意思啊 允余什么意思 写出下面的最大公因数54和18 132和151 17.18和19 12和72和60 什么分子可以溶于酯分子或者分解酯分子?就好像醇可以溶于水食用.可以食用! 高中数学求答案,最好有过程 用长为4、宽为2的矩形作侧面围成一个圆柱,则此圆柱轴截面面积为32π,那么圆柱的半径是? 用长为4,宽为2的矩形做成侧面围成一个圆柱,则此圆柱轴截面的面积为. 差选是什么意思 加拿大首设比特币自动提款机“美丽中国”大型图片展在莫斯科举行吸烟让你变丑:双胞胎脸部皮肤对比作证解决伊核问题需要信任和耐心纽约规定21岁以下禁买烟普京治下的“俄式反腐”值得借鉴斯诺登最新照:在莫斯科乘游览船 未戴默克尔遭美国监听 德议员称斯诺登愿协孟建柱会见乌兹别克斯坦总统并主持中乌铁腕普京突击检查俄军核战备以色列攻击叙利亚军事基地 目标是俄制人怎么动 心怎么稳(深阅读·追踪上海马布里:真正的男人赢得冠军 下一年辽翟晓川:感谢所有人自己很幸运时隔7年再次饮恨总决赛 郭士强+队员2014 2015赛季CBA总决赛比北京首钢 王朝已经建立!CBA历届总决赛MVP马拉松变秀场 3.5万人享受奔跑快乐传球大师纳什正式退役重庆渝北筹办各种联赛 中小学足球课下英超又现乌龙红牌万灵始祖尚武之神恐怖遗迹树的传说荣耀大唐混在末日的僵尸异界之天擎大陆软才是硬道理封神之绝命毒师异世龙魂军团大随英雄传竹泉村旅游科尔沁草原旅游白洋淀鸳鸯岛旅游夏琼寺旅游柳侯公园旅游大龙潭旅游马鞍山公园旅游万隆旅游定州博物馆旅游红石野谷旅游岭脚村旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘