新建一个空项目 名称 位置 自己定义
添加头文件stdafx.h
工程下面 头文件 右键添加 新建项 头文件 名称为 stdafx.h
把集成的 stdafx.h 里面的内容(涵盖了大部分所需的头文件) 全部复制到 我们的工程 stdafx.h里面去
添加源文件stdafx.cpp
里面包含进 stdafx.h
#include “stdafx.h”
添加源文件 WinMain.cpp (这是我们的执行程序)名字自定义
首先也包含进
#include “stdafx.h”
为了后期能快速编译
在 stdafx.cpp 右键 属性 C/C++ 预编译头 设置为 创建 确定
WinMain.cpp 右键 属性 C/C++ 预编译头 设置为 使用 确定
WinMain里 代码如下:
#include “stdafx.h”
#pragma warning(disable:4996) /屏蔽4996错误/
/入口点为C语言main函数,windows应用程序/
#pragma comment(linker, “/entry:mainCRTStartup /subsystem:windows”)/windows/
VOID PrintUI(const char* ExeName,/程序名/const char* UIName /窗口标题/, const char* Color, SHORT X, SHORT Y, WORD W, WORD H)
{
//函数方法
/这个是一个API/
/*
参数1受区域影响分类
*/
setlocale(LC_ALL, “chs”); //命令行控制支持中文
/*创建控制台*/
AllocConsole(); //创建一个输入输出界面;
freopen("conin$", "r+t", stdin); /*使用输入*/
freopen("conout$", "w+t", stdout); /*使用输出*/
SetConsoleTitle(UIName); /*API设置窗口标题*/
system(Color); /*调用CMD命令设置颜色*/
//0 黑色 8灰色
//1 深蓝色 9蓝色
//3 蓝绿色 A 草绿色
/*在常量空间中的字符数组*/
/*char*是一个指针,可以指向堆区和栈区*/
char OldPathName[1024]; /*定义一个字符数组暂用1024个字节,他是在栈区*/
char NewPathName[1024]; /*定义一个字符数组暂用1024个字节,他是在栈区*/
/*
堆区需要程序主动释放,32位程序堆区有2G可以供给程序员使用的空间,栈区一般为1024M
栈区保存的都是局部遍历,函数调用完毕之后会自动释放内存空间
堆区内存可以申请很大,函数调用完后不会释放掉
*/
//下面开始第一个for循环
GetModuleFileName(0, OldPathName, 1024); /*这个API代表把当前程序路径写入到我们申请的内存空间中*/
strcpy(NewPathName, OldPathName); /*这个相当于把OldPathName内存拷贝到NewPathName*/
/*
参数1是初始化数据类型
参数2表示运行条件
参数3表示每次运行后变量的变化
*/
for (SHORT i = strlen(NewPathName); i > 0; i--)
{
if (NewPathName[i - 1] == '\\')
{
NewPathName[i] = 0;
strcat(NewPathName, ExeName);
break;
}
}
/*
参数1被修改exe路径
参数2修改名称
*/
//rename(OldPathName, NewPathName);
SetWindowPos(GetConsoleWindow()/*获取当前窗口句柄*/, 0, 0, 0, W, H, SWP_NOMOVE/*不修改坐标*/); //修改窗口宽高
SetWindowPos(GetConsoleWindow(), 0, X, Y, 0, 0, SWP_NOSIZE/*不修改宽高*/); /*修改窗口坐标*/
return;
}
int _tmain(int argc, _TCHAR* argv[]) /这个是windows上exe的程序入口/
{
//short是C语言的一个短整型数据类型,short表示的范围是65535到-65535,short占用两个字节内存
//长整型是int,int咱用4个字节
PrintUI("新程序", "HelloWorld", "color 0A", 500, 500, 500, 500);
cout << "用C++方式打印出:HelloWorld" << endl;
printf("用C语言打印出:HelloWorld");
/*alt+方向键右可以自动补全代码*/
Sleep(5000);
return 0; /*表示结束当前函数运行*/
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)