C语言学习笔记之 第五讲:C语言弹窗打开一个exe,文件,网站案例

1、 windows.h头文件意义:

Win32程序的开头都可看到:

#include<windows.h>

WINDOWS.H是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是:

WINDEF.H基本数据类型定义。

WINNT.H支持Unicode的类型定义。

WINBASE.HKernel(内核)函数。

WINUSER.H用户界面函数。

WINGDI.H图形设备接口函数。

这些头文件定义了Windows的所有资料型态、函数调用资料结构和常数识别字,它们是Windows文件中的一个重要部分。

2、 C语言弹窗函数用法:

MessageBox(),注意区分大小写。它的功能是弹出一个标准的Windows对话框。它不是C函数库的标准函数,而是WINDNWS API函数,但是可以用C语言调用API函数。
下面举例,显示出一个对话框,其标题为Hello内容为Hello World,包含一个【确定】按钮:
#include <windows.h>
int main()
{
  MessageBox(NULL,"Hello World","Hello",MB_OK);

// MessageBox(0,"HelloWorld","Hello",MB_OK);
  return 0;
}
MessageBox()函数第一个参数是窗口句柄(既依赖的窗口编号,相当于谁弹出的窗口,0表示系统弹出),第二个是窗口内容字符串,第三个是窗口标题字符串,第四个是窗口所包含的按钮类型;函数返回值为int类型,用于判断用户点击了哪个按钮。

简单介绍一下第四个参数(左边参数,右边按钮):
MB_OK  确定
MB_OKCANCEL  确定 取消
MB_YESNO 是 否
MB_RETRYCANCEL 重试 取消
还可以在窗口显示通知图标:
MB_OK|MB_ICONQUESTION 确定 问号
依此类推,只要在后面加“|”然后是图标代号。
MB_ICONEXCLAMATION 感叹号
MB_ICONERROR 错误
MB_ICONINFORMATION 信息
再来说说函数的返回值:
假设对话框上有2个缺省按钮,【是】和【否】,
int ret = MessageBox(NULL,"是否关机?","询问",MB_YESNO|MB_ICONQUESTION);
if(ret == IDYES)
{
  ......//伪代码
}
当用户点击了【是】就……
列一个清单(左 按钮,右 返回值):
【是】  IDYES
【否】  IDNO
【确定】  IDOK
【取消】  IDCANCEL
【重试】  IDRETRY

3、 ShellExecute()函数使用方法:

ShellExecute是系统里面进行操作的一个函数,主要用于打开,能打开东西很多,打开外部程序、网页、文件夹、EMAIL、我的文档、我的电脑、回收站等等。一切与系统关联的东西都可以用它来打开,谓之“全能打手”也不过份。

ShellExecute函数原型及参数含义如下:

ShellExecute(

hWnd:HWND; {指定父窗口句柄,指示哪个窗口执行的,0表示系统执行的}

Operation:PChar; {指定动作, 譬如: open(打开)、runas、print(打印)、edit、explore、find}

FileName:PChar; {指定要打开的文件或程序地址、网址}

Parameters:PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是0}

Directory:PChar; {缺省目录}

ShowCmd:Integer {打开选项}

);

//ShowCmd参数可选值:

SW_HIDE           = 0;  {隐藏}

SW_SHOWNORMAL     = 1;  {用最近的大小和位置显示, 激活}

SW_NORMAL         = 1;  {同SW_SHOWNORMAL}

SW_SHOWMINIMIZED   = 2;  {最小化, 激活}

SW_SHOWMAXIMIZED   = 3;  {最大化, 激活}

SW_MAXIMIZE       = 3;  {同SW_SHOWMAXIMIZED}

SW_SHOWNOACTIVATE = 4;  {用最近的大小和位置显示, 不激活}

SW_SHOW           = 5;  {同 SW_SHOWNORMAL}

SW_MINIMIZE       = 6;  {最小化, 不激活}

SW_SHOWMINNOACTIVE= 7;  {同 SW_MINIMIZE}

SW_SHOWNA         = 8;  {同SW_SHOWNOACTIVATE}

SW_RESTORE        = 9;  {同 SW_SHOWNORMAL}

SW_SHOWDEFAULT    = 10; {同 SW_SHOWNORMAL}

SW_MAX            = 10;{同 SW_SHOWNORMAL}

 

案例:

如要打开一个文件:

ShellExecute (0,”open”,”D:\\1.txt”,0,0,1);  

 //C语言路径中\\代表\,所有的\都要替换成\\

如要打开一个网站:

ShellExecute (0,”open”,”http://www.baidu.com”,0,0,1);

如要打开QQ:

ShellExecute(0,”open”,”C:\\ProgramFiles(x86)\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe”,0,0,1);

如要打印文档:

ShellExecute (0,”print”,”D:\\1.txt”,0,0,1); 

如要打开系统文件,不需要注明路径,直接调用默认即可,如记事本、计算器等:

ShellExecute (0,”open”,”notepad”,0,0,1); 

如要发邮件:

ShellExecute (0,”open”,”mailto:”,0,0,1); 

如给确定地址发邮件:

ShellExecute (0,”open”,”mailto:1290800466@qq.com”,0,0,1); 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值