windows api开发:获取系统目录并写入到文件中

新建项目

1.打开VS,文件->新建-》项目-》空项目
在这里插入图片描述
2.选中源文件->添加->新建项-》选c++文件
在这里插入图片描述
3.写入代码,使用GetSystemDirectory函数获取系统目录路径并赋值给szsysdir字符数组,代码如下:

#include<Windows.h>

#include<stdio.h>
int main()
{
	TCHAR szsysdir[MAX_PATH];  //MAX_PATH的值为260,指的是系统中所有文件夹路径长度都不超过260

	GetSystemDirectory(szsysdir, MAX_PATH);//系统路径是系统最重要的内容

	printf("%s\n", szsysdir);

	printf("ok\n");

	system("pause");

	return 0;

}

4.运行结果如下:
在这里插入图片描述
5.接着新建一个文件对象,并把获取到的系统目录字符串写入到该文件中,先调用CreateFile函数创建hfile句柄,然后调用WriteFile函数把系统写入到sysroot.txt中,如果写入失败返回错误代码。代码如下:

#include<Windows.h>

#include<stdio.h>
int main()
{
	TCHAR szsysdir[MAX_PATH];  //MAX_PATH的值为260,指的是系统中所有文件夹路径长度都不超过260

	GetSystemDirectory(szsysdir, MAX_PATH);//系统路径是系统最重要的内容

	printf("%s\n", szsysdir);

	//把路径写入sysroot.txt文件中
	HANDLE hfile;
	DWORD dwWriter;
	hfile = CreateFile("sysroot.txt",
		GENERIC_WRITE,//写
		0,//共享设为0
		NULL,//安全属性设为默认
		CREATE_ALWAYS,//总是创建新的文件
		FILE_ATTRIBUTE_NORMAL,//文件属性常规
		NULL //没有用模板
		);

	if (hfile != INVALID_HANDLE_VALUE)
	{
		if (!WriteFile(hfile, szsysdir, lstrlen(szsysdir), &dwWriter, NULL)) //往文件写内容
		{
			//写失败
			return GetLastError(); //返回错误代码
		}
		
	}
	CloseHandle(hfile);

	printf("ok\n");

	system("pause");

	return 0;

}

6.运行结果如下:
在这里插入图片描述
在这里插入图片描述

发布了30 篇原创文章 · 获赞 48 · 访问量 1105

猜你喜欢

转载自blog.csdn.net/qq_33526144/article/details/103507955