夺命雷公狗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就是最小化。。
不过有些时候要隐藏掉某些执行窗口时候是挺给力的