VC++ 修改计算机名称 SetComputerName

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8659430

欢迎关注微博:http://weibo.com/MoreWindows

 

上一篇《VC++得到计算机名和用户名》讲解了如何使用GetComputerNameGetUserName来获取计算机名称及用户名。本篇来讲解用SetComputerName来修改计算机名称。

函数原型:

//By MoreWindows-(http://blog.csdn.net/MoreWindows)

BOOLWINAPISetComputerName(

    __in          LPCTSTRlpComputerName

);

对于计算机名称有一定的要求,MSDN的解释如下:

The computer name that will take effect the next time the computer is started. The name must not be longer than MAX_COMPUTERNAME_LENGTH characters.

The standard character set includes letters, numbers, and the following symbols: ! @ # $ % ^ & ' ) ( . - _ { } ~ . If this parameter contains one or more characters that are outside the standard character set, SetComputerName returns ERROR_INVALID_PARAMETER.

// VC++修改计算机名称  
// http://blog.csdn.net/morewindows/article/details/8659430
//By MoreWindows-(http://blog.csdn.net/MoreWindows)  
#include <windows.h>
#include <stdio.h>
#include <conio.h>
int main()
{	
	printf("    VC++修改计算机名称 \n");        
	printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n"); 
	const int MAX_BUFFER_LEN = 500;
	char  szBuffer[MAX_BUFFER_LEN];
	DWORD dwNameLen;
	
	dwNameLen = MAX_BUFFER_LEN;
	if (!GetComputerName(szBuffer, &dwNameLen)) 
	{
		printf("Error  %d\n", GetLastError());
		return -1;
	}
	printf("当前计算机名为: %s\n", szBuffer);
	printf("要改名吗?(y/n)\n");
	int ch = getch();
	ch = toupper(ch);
	if (ch == 'Y')
	{
		printf("请输入新名称:");
		gets(szBuffer);
		if (strlen(szBuffer) != 0)
		{
			if (SetComputerName(szBuffer))
				printf("恭喜!改名成功,重启后生效\n");
			else
				printf("Error  %d\n", GetLastError());
		}
	}
	return 0;
}

先修改下

 VC++ 修改计算机名称 SetComputerName_第1张图片

重启后可以发现计算机的名称已经被修改了。

 VC++ 修改计算机名称 SetComputerName_第2张图片

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8659430

欢迎关注微博:http://weibo.com/MoreWindows

 

你可能感兴趣的:(vc++,修改计算机名称,SetComputerName)