本节内容
1、功能描述
对话框可以分为modal和modeless两种。
2、在Win32 Dll中创建modal对话框
在一个Win32Dll中创建modal对话框非常简单,我们都知道,Win32函数DialogBox能够创建一个modal对话框,并且modal对话框的消息是独立于主程序消息循环的,所以可以直接在Dll内部建立对话框自己的窗口过程。下面就是一个在Win32 Dll中创建modal对话框的示例:
3、在Win32 Dll中创建modeless对话框
与modal对话框不同,modeless对话框的消息是要经过主程序消息循环的,这样一来,就必须在调用该Dll的主程序中处理对话框的消息循环,这就无法达到利用Dll来完成组件化开发的要求。其实我们可以人为的Modeless对话框创建一个窗口类,我们知道窗口过程是属于窗口类的,这样一来就有了主窗口的消息循环。
3、C/C++控制台程序隐藏窗口
- 方法1
在代码头文件下加上一句:
注意:在编译器下运行时仍会出现黑框,但直接运行编译好的exe程序就不会显示黑框了。
- 方法2:
使用API函数隐藏自身窗口,但会有黑框快速闪过。
- 方法3:
写第二个程序,间接启动第一个程序,以窗口隐藏的方式。
- 方法4:
编写vbscript脚本:object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
run函数有三个参数:
第一个参数是你要执行的程序的路径。
第二个程序是窗口的形式,0是在后台运行;1表示正常运行;2表示激活程序并且显示为最小化;3表示激活程序并且显示为最大化;一共有10个这样的参数我只列出了4个最常用的。
第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。
其实,run做为函数,前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个返回值就是错误代码,可以通过这个代码找出相应的错误。
后记
如果你觉得这些文字有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉作者写的不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位小伙伴们啦( ´ ▽ ‘)ノ ( ´ ▽ ` )っ!!!