1 #include "stdafx.h" 2 /*入口点为C语言main函数,windows应用程序*/ 3 #pragma warning(disable:4996)/*屏蔽4996错误*/ 4 #pragma comment(linker, "/entry:mainCRTStartup /subsystem:windows")/*windows*/ 5 7 VOID PrintUI(const char*ExeName,/*程序名*/const char*UIName/*窗口标题*/,const char*Color,SHORT X,SHORT Y,WORD W,WORD H) 8 { 9 //函数方法 10 /*这个是一个API*/ 11 /* 12 参数1受区域影响分类 13 */ 14 setlocale(LC_ALL,"chs");//命令行控制支持中文 15 /*创建控制台*/ 16 AllocConsole();//创建一个输入输出界面; 17 freopen("conin$", "r+t", stdin);/*使用输入*/ 18 freopen("conout$", "w+t", stdout);/*使用输出*/ 19 SetConsoleTitle(UIName);/*API设置窗口标题*/ 20 21 system(Color);/*调用CMD命令*/ 22 //0 黑色 8灰色 23 //1 深蓝色 9蓝色 24 //3 蓝绿色 A 草绿色 25 26 /*在常量空间中的字符数组*/ 27 /*char*是一个指针,可以指向堆区和栈区*/ 28 29 char OldPathName[1024];/*定义一个字符数组暂用1024个字节,他是在栈区*/ 30 char NewPathName[1024];/*定义一个字符数组暂用1024个字节,他是在栈区*/ 31 32 /* 33 堆区需要程序主动释放,32位程序堆区有2G可以供给程序员使用的空间,栈区一般为1024M 34 栈区保存的都是局部遍历,函数调用完毕之后会自动释放内存空间 35 堆区内存可以申请很大,函数调用完后不会释放掉 36 */ 37 42 GetModuleFileName(0, OldPathName, 1024);/*这个API代表把当前程序路径写入到我们申请的内存空间中*/ 43 strcpy(NewPathName, OldPathName);/*这个相当于把OldPathName内存拷贝到NewPathName*/ 44 45 /* 46 参数1是初始化数据类型 47 参数2表示运行条件 48 参数3表示每次运行后变量的变化 49 */ 50 for (SHORT i = strlen(NewPathName); i >0; i--) 51 { 52 if (NewPathName[i-1]=='\\') 53 { 54 NewPathName[i] = 0; 55 strcat(NewPathName, ExeName); 56 break; 57 } 58 59 } 60 61 /* 62 参数1被修改exe路径 63 参数2修改名称 64 */ 65 //rename(OldPathName, NewPathName); 66 67 SetWindowPos(GetConsoleWindow()/*获取当前窗口句柄*/, 0, 0, 0, W, H, SWP_NOMOVE/*不修改坐标*/);//修改窗口宽高 68 69 SetWindowPos(GetConsoleWindow()/*获取当前窗口句柄*/, 0, X,Y, 0, 0, SWP_NOSIZE/*不修改宽高*/);/*修改窗口坐标*/ 70 return ; 71 } 72 73 void Func() { 74 cout << "用C++方式打印出:HelloWorld" << endl; 75 printf("用C语言打印出:HelloWorld"); 76 } 77 78 79 80 int _tmain(int argc, _TCHAR*argv[])/*这个是windows上exe的程序入口*/ 81 { 82 //short是C语言的一个短整型数据类型,short表示的范围是65535到-65535,short占用两个字节内存 83 //长整型是int,int咱用4个字节 84 85 86 PrintUI("新程序.exe", "HelloWorld", "color 0A", 500, 500, 500, 500); 87 88 //课程代码 都在写在下面函数内 89 Func(); 90 91 //cout << "用C++方式打印出:HelloWorld" << endl; 92 //printf("用C语言打印出:HelloWorld"); 93 /*art+方向键右可以自动补全代码*/ 100 101 Sleep(5000000); 102 return 0;/*表示结束当前函数运行*/ 104 }