请大家先看看下面的示例代码:

上面代码十分简单,在调用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的一种玩法相关推荐

  1. 超级智能玩具《小小机器人》|全新50种玩法,创造力之源

    致砖<小小机器人>全新套装 电动+机械的完美结合 先来看看视频过过眼瘾吧 来自美国STEAM教育 让孩子跨学科学知识 积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科: 要搭 ...

  2. 超级智能玩具《小小机器人》首发|全新50种玩法,创造力之源

    致砖<小小机器人>套装全新首发 电动+机械的完美结合 先来看看视频过过眼瘾吧 来自美国STEAM教育 让孩子跨学科学知识 积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科: ...

  3. jeecg集成积木报表错误_6688种玩法的电子积木,是什么体验?「中外玩具网测评」...

    听说聪明的孩子都玩过电子积木?一款玩具真的能有几千种玩法?你相信吗?让我们一起来寻找答案吧~ 大家好,中外玩具网编辑部开始做玩具测评啦~ 上个星期,我们收到了这款"电学小子"电子积 ...

  4. 【云计算的1024种玩法】10分钟轻松设置出 A+ 评分的 HTTP/2 网站

    前言 其实 HTTP/2 应该是 2015 年的老话题了(2015 年 5 月 14 日 HTTP/2 协议正式版的发布),但是 2018 年都到了很多网站依旧没有使用,作为新一代互联网协议,HTTP ...

  5. java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。

    java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数.另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码. 具 ...

  6. 线代中最基础的两种玩法

    线代中最基础的两种玩法 @(线性代数) 加法 乘法 由这两种最基础的做法可以发展出许多有意思的解题思路. 以可交换矩阵的论证为例. 可交换矩阵:AB=BA 一般有三类: 单位矩阵,或零矩阵 AE = ...

  7. 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)

    作为一名程序员,业余时间你会写个爬虫, 抓数据?抓图片?或者是自己搭个应用号,玩的不亦乐乎.也许做为一名hacker的你,可以在云上施展你的项目. 抽出一些业余时间,把你在腾讯云上研究的玩法写下来吧, ...

  8. 【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 ...

  9. GPT-3的50种玩法告诉你,它很酷,但是没有通过图灵测试

    2020-07-31 01:42:19 作者 | 青 暮 编辑 | 丛 末 自从OpenAI开放GPT-3的API以来,不少人争相申请试用后获得了"门票",并相继在社交网络上推送自 ...

最新文章

  1. Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
  2. arm-linux-g 找不到头文件,交叉编译错误“ arm-none-eabi-g ++找不到条目符号”
  3. linux 返回上一个文件夹_常用命令之linux指令
  4. ES6基础5(Promise)-学习笔记
  5. 使用ADO.NET的参数集合来有效防止SQL注入漏洞
  6. Struts2之环境配置
  7. Winform Echarts 显示百度地图的用法(3)
  8. 开源势不可挡 IBM Power Systems Linux中心成立
  9. Bridge模式——对象结构型模式
  10. [USACO DEC13] 牛棒球
  11. VS2013 密钥 – 所有版本
  12. 电商项目(谷粒商城)
  13. matlab日历制作
  14. html js满屏飘雪特效,原生js实现的雪花飘落特效
  15. java随机生成随机整数_java生成随机整数
  16. java有理数类的封装_【Java笔记】有理数的类封装
  17. 工程测量(道路、桥梁、隧道、地下管线、高速铁路)
  18. 网络电台管理套件AzuraCast
  19. 2023每日发布行业及概念热点切换跟踪图!
  20. 前端面试谈:简历通用注意事项

热门文章

  1. 并行for #pragma omp parallel for
  2. 中国泰山-Http://54TaiShan.Cn
  3. 音箱参数记录和说明讲解
  4. oracle 18c 18.3 学习之五 unplug drop plug pdb
  5. Poi与EasyExcel进行文件读写、模版生成
  6. php spl set,php的spl
  7. 我的 sublime 常备插件
  8. 【Python】pickle写入加载数据
  9. SSH远程登录配置过程
  10. 视频教程-程序员必备算法课!(揭秘淘宝购物车算法)-机器学习