在dos下怎么通过C语言编程实现修改计算机名的功能

在dos下如何通过C语言编程实现修改计算机名的功能
我打算用C/C++编写一个小程序,功能是在DOS下修改Windows   XP系统的计算机名,我现在是一点儿头绪都没有,请问各位大大,我都需要用到哪些资料,哪些函数,可以做到?
有人说可以通过修改Windows   XP系统注册表的方法来修改计算机名,我已经知道了注册表修改计算机名的方法了,但在dos下又如何修改注册表?不要对我说使用regedit!
请各位大大提示一下!多谢了!!!

------解决方案--------------------
比较简单的方法是调用system()函数,运行reg来改变注册表
system( "reg add ... ")
你也可以使用Win32 API来实现,这要查一下msdn
------解决方案--------------------
用Win32 API修改注册表,可以使用
GetProfileInt(), GetProfileString(), GetProfileSection()
WriteProfileInt(), WriteProfileString(), WriteProfileSection()
------解决方案--------------------
楼主应该弄明白什么是DOS 什么是控制台 什么是shell
首先使用系统的功能必须通过调用系统的API,一个win32控制台程序,和一个一般的窗口程序是没有任何区别的,能够调用相同的win32 API。
控制台程序和DOS程序不是一回事,唯一相联系的是,在windows下运行一个dos程序打开的是一个控制台窗口。
windows的控制台就是系统的一个shell,程序中使用system()函数就是间接调用系统shell,当然你自己也可以编写一个shell,使用一些命令来方便操作文件目录和网络等
而如果真的编写16位DOS程序,不管是system()还是直接调用都是无法访问win32 API的

如楼上所说
要么直接使用Win32 API,要么调用system()
------解决方案--------------------
我又错了。
可以在DOS下修改注册表文件。注册表分别存放在多个注册表文件中。在磁盘上,注册表不是简单的一个大文件,而是一个集合,由称为“注册表配置单元(hive)”的分散的文件组成,一系列的Hive文件构成了整个注册表。MS是不会公开内部细节的,不过那次泄漏的源码里面有实现范例,有些牛人就搞出来了通过注册表破解XP登录密码。
你看看番茄花园的XP光盘里面就集成了这个工具,并且这个工具是开源的,里面有一个操作hive文件的库,可以在http://home.eunet.no/pnordahl/ntpasswd/上下载源码。这个库本来是linux平台的,不过也有人把它移植到windows,参看http://www.channel7.cn/2005/6-10/10619.html
再移植到DOS恐怕也不算难。
------解决方案--------------------
这是MS的官方说法 Inside the Registry
http://www.microsoft.com/technet/archive/winntas/tips/winntmag/inreg.mspx?mfr=true
看看 还是有帮助的