ShellExecuteEx的一种玩法
请大家先看看下面的示例代码:
上面代码十分简单,在调用ShellExecuteEx时,我们通过SHELLEXECUTEINFO结构体传入了两个参数:第一个是动作谓词(verb),另一个是需要执行此动作的目标文件。请注意,因为这个函数体中的代码执行完之后会立即返回,所以我们需要添加一个SEE_MASK_FLAG_DDEWAIT标志:通常情况下,ShellExecuteEx会认为当它返回之后,应用程序会维护一个消息循环。这就可以实现函数返回之后继续执行接下来那些必要的DDE交互,因为DDE服务器会返回对应的响应。
但是,如果线程直接退出了,或者此线程不是一个图形界面线程(GUI Thread),在这个例子中,这两个条件都得到了满足,你需要添加这个标志向操作系统表明:我这没有实现任何的消息处理循环,所以也没有办法完成接下来的DDE交互。通过设置SEE_MASK_FLAG_DDEWAIT标志,应用程序就是在告诉ShellExecuteEx:请你在返回之前完成所有的DDE交互操作。
不管怎样,我的本意是希望能演示如何使用动作谓词。因为看起来有一些朋友还没有意识到还可以这样玩,例如:
> shex find %windir%
此动作可以打开搜索窗口,并指定默认搜索的文件夹。
> shex openas C:\AUTOEXEC.BAT
此动作可以打开”打开方式”对话框,并指定目标文件。
总结
其实,这事儿可以这样理解,你对Windows做的所有图形操作,其基石都是代码,也即:可以通过写代码的方式完成各种图形界面动作。
来,跟我学一个单词:programmatically。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Simple things you can do with the ShellExecuteEx function》
ShellExecuteEx的一种玩法相关推荐
- 超级智能玩具《小小机器人》|全新50种玩法,创造力之源
致砖<小小机器人>全新套装 电动+机械的完美结合 先来看看视频过过眼瘾吧 来自美国STEAM教育 让孩子跨学科学知识 积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科: 要搭 ...
- 超级智能玩具《小小机器人》首发|全新50种玩法,创造力之源
致砖<小小机器人>套装全新首发 电动+机械的完美结合 先来看看视频过过眼瘾吧 来自美国STEAM教育 让孩子跨学科学知识 积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科: ...
- jeecg集成积木报表错误_6688种玩法的电子积木,是什么体验?「中外玩具网测评」...
听说聪明的孩子都玩过电子积木?一款玩具真的能有几千种玩法?你相信吗?让我们一起来寻找答案吧~ 大家好,中外玩具网编辑部开始做玩具测评啦~ 上个星期,我们收到了这款"电学小子"电子积 ...
- 【云计算的1024种玩法】10分钟轻松设置出 A+ 评分的 HTTP/2 网站
前言 其实 HTTP/2 应该是 2015 年的老话题了(2015 年 5 月 14 日 HTTP/2 协议正式版的发布),但是 2018 年都到了很多网站依旧没有使用,作为新一代互联网协议,HTTP ...
- java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。
java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数.另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码. 具 ...
- 线代中最基础的两种玩法
线代中最基础的两种玩法 @(线性代数) 加法 乘法 由这两种最基础的做法可以发展出许多有意思的解题思路. 以可交换矩阵的论证为例. 可交换矩阵:AB=BA 一般有三类: 单位矩阵,或零矩阵 AE = ...
- 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)
作为一名程序员,业余时间你会写个爬虫, 抓数据?抓图片?或者是自己搭个应用号,玩的不亦乐乎.也许做为一名hacker的你,可以在云上施展你的项目. 抽出一些业余时间,把你在腾讯云上研究的玩法写下来吧, ...
- 【kali Linux 的1024种玩法】一.在VMware Workstation上安装Kali Linux 2020.1(超详细!)
[kali Linux 的1024种玩法]一.在VMware Workstation上安装Kali Linux 2020.1 一.下载Kali linux 2020.1 1.1 下载Kali Linu ...
- GPT-3的50种玩法告诉你,它很酷,但是没有通过图灵测试
2020-07-31 01:42:19 作者 | 青 暮 编辑 | 丛 末 自从OpenAI开放GPT-3的API以来,不少人争相申请试用后获得了"门票",并相继在社交网络上推送自 ...
最新文章
- Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
- arm-linux-g 找不到头文件,交叉编译错误“ arm-none-eabi-g ++找不到条目符号”
- linux 返回上一个文件夹_常用命令之linux指令
- ES6基础5(Promise)-学习笔记
- 使用ADO.NET的参数集合来有效防止SQL注入漏洞
- Struts2之环境配置
- Winform Echarts 显示百度地图的用法(3)
- 开源势不可挡 IBM Power Systems Linux中心成立
- Bridge模式——对象结构型模式
- [USACO DEC13] 牛棒球
- VS2013 密钥 – 所有版本
- 电商项目(谷粒商城)
- matlab日历制作
- html js满屏飘雪特效,原生js实现的雪花飘落特效
- java随机生成随机整数_java生成随机整数
- java有理数类的封装_【Java笔记】有理数的类封装
- 工程测量(道路、桥梁、隧道、地下管线、高速铁路)
- 网络电台管理套件AzuraCast
- 2023每日发布行业及概念热点切换跟踪图!
- 前端面试谈:简历通用注意事项