关于 include
#include//预处理命令不是C语句,结尾不加分号“;”// 包含的作用:将文件拷贝过来,当做文本文件解析// <> 在系统目录下查找 stdlib.h// "" 先在当前目录下查找,没有找到就去系统目录下查找// <> 可以用 "" 替换,"" 不能用 <> 替换void main(void) //(void) ()都代表参数为空{ system("tasklist"); //查看进程,"tasklist" 字符串 system("echo Hello World !"); system("pause"); //暂停 return; //返回为空,return之后的语句不会再被执行 system("echo Hello China !");}
system 函数
- 函数名:system
- 功能:发出一个DOS命令
- 用法:int system(char *command);
#include#include int main(void){ system("calc"); //打开计算器 system("dir"); //列出当前目录下的文件以及文件夹 system("D:\\Exchange\\QQ\\Bin\\QQScLauncher.exe"); //打开QQ return 0;}
同步与异步的概念
区别system
函数中同步与异步的不同:
#include#include int main(){ system("calc"); //后面的语句必须等待当前的程序退出后执行,同步 system("start notepad"); //无需等待当前的程序退出,后面的语句即可执行,异步 Sleep(5000); system("taskkill /f /im notepad.exe"); return 0;}
实现的效果为:程序运行后,先打开计算器,当计算器程序退出后,打开记事本,并且5秒后自动关闭记事本。
模拟一个小病毒
用system
函数结合死循环,模拟一个小病毒
//编译环境:Dev-C++ 5.11#include#include int main(){ while(1) { //system("start notepad"); system("notepad"); Sleep(1000); } return 0;}
实现的效果为(可以试运行一下两种不同的情况,感受一下两者的区别):
- 若是同步(
system("notepad");
),则打开一个记事本,关闭后又自动打开,始终无法退出记事本程序。 - 若是异步(
system("start notepad");
),则无限的打开记事本。
ShellExecuteA 函数
另外,打开程序可以调用另外一个库函数ShellExecuteA
#include#include //包含库函数 ShellExecuteAint main(void){ system("D:\\Exchange\\QQ\\Bin\\QQScLauncher.exe"); //打开QQ ShellExecuteA(0, "open", "D:\\Exchange\\QQ\\Bin\\QQScLauncher.exe", 0, 0, 1); //打开QQ ShellExecuteA(0, "open","notepad", 0, 0, 6); //打开记事本 //最后一个参数:0隐藏打开程序; 1正常; 3最大化; 6最小化 return 0;}