夺命雷公狗C/C++-----8---使用ShellExecute打开一个文件和一个网址和打印文件

提示:在c语言中\两个斜杠代表着一个  斜杠而已噢,很多新人朋友都会在这里出现道问题噢

ShellExecute()是windows系统里面进行操作的一个函数,

一般都是实用他来进行打开或者打印的使用。。

其实我们还可以通过c语言来打开一个文件噢,比如我们打开一个记事本来玩玩

#include <stdio.h>
#include <windows.h>
void main()
{
    ShellExecute(0,"open","D:\test.txt",0,0,1);

    /*
    ShellExecute(
        hWnd: HWND; {指定父窗口句柄}
        Operation: PChar; {指定动作, 譬如: open、print、edit、explore、find }
        FileName: PChar; {指定要打开的文件或程序}
        Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
        Directory: PChar; {缺省目录}
        ShowCmd: Integer {打开选项}
  ): 

    */
    getchar();
}

效果如下所示:

当然我们要在D盘下创建一个指定的txt才可以的,嘻嘻。。

网址的其实也很容易,也是首先要引入windows.h的依赖库,然后再利用ShellExecute()的函数来进行处理即可

代码如下所示:

#include <stdio.h>
#include <windows.h>
void main()
{
    //ShellExecute(0,"open","D:\test.txt",0,0,1);
    ShellExecute(0,"open","http://www.qq.com",0,0,1);
    /*
    ShellExecute(
        hWnd: HWND; {指定父窗口句柄}
        Operation: PChar; {指定动作, 譬如: open、print、edit、explore、find }
        FileName: PChar; {指定要打开的文件或程序}
        Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
        Directory: PChar; {缺省目录}
        ShowCmd: Integer {打开选项}
  ): 

    */
    getchar();
}

效果如下所示:

打印文件其实也很简单,治需要将第二个参数  open 改成 print 即可,代码如下所示:

#include <stdio.h>
#include <windows.h>
void main()
{
    //ShellExecute(0,"open","D:\test.txt",0,0,1);
    //ShellExecute(0,"open","http://www.qq.com",0,0,1);
    ShellExecute(0,"print","D:\test.txt",0,0,1);
    /*
    ShellExecute(
        hWnd: HWND; {指定父窗口句柄}
        Operation: PChar; {指定动作, 譬如: open、print、edit、explore、find }
        FileName: PChar; {指定要打开的文件或程序}
        Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
        Directory: PChar; {缺省目录}
        ShowCmd: Integer {打开选项}
  ): 

    */
    getchar();
}

效果如下所示:

总结ShellExecute(0,”open“,”url或者打开文件再或者mailto:leigood@aliyun.com“,0,0,1)

第一个参数:说明那个窗口执行的,0就是系统执行的

第二个参数:就是执行说明操作,一般都是“open”或者“print”

第三个参数:执行的文件路径或者名称或者网址再或者邮件地址

第四和第五个都是系统保留的一些参数,都设置为0

第六个参数:是控制打开窗口的显示,隐藏,最大化,最小化,一般起不到什么大作用,比如在打开D时候 1是最大化,那么6就是最小化。。

不过有些时候要隐藏掉某些执行窗口时候是挺给力的

原文地址:https://www.cnblogs.com/leigood/p/6921011.html