C语言怎么获取完整的计算机名称
发布网友
发布时间:2022-03-01 08:39
我来回答
共4个回答
热心网友
时间:2022-03-01 10:08
用GetComputerNameEx()函数。
函数原型:
BOOL WINAPI GetComputerNameEx(
_In_ COMPUTER_NAME_FORMAT NameType,
_Out_ LPTSTR lpBuffer,
_Inout_ LPDWORD lpnSize
);
参数 NameType 名称类型,lpBuffer 接收名字的缓冲区指针 lpnSize接收名字的缓冲区大小
返回值:成功返回非0值,失败返回0
实例:
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
void _tmain(void)
{
TCHAR buffer[256] = TEXT("");
TCHAR szDescription[8][32] = {TEXT("NetBIOS"),
TEXT("DNS hostname"),
TEXT("DNS domain"),
TEXT("DNS fully-qualified"),
TEXT("Physical NetBIOS"),
TEXT("Physical DNS hostname"),
TEXT("Physical DNS domain"),
TEXT("Physical DNS fully-qualified")};
int cnf = 0;
DWORD dwSize = sizeof(buffer);
for (cnf = 0; cnf < ComputerNameMax; cnf++)
{
if (!GetComputerNameEx((COMPUTER_NAME_FORMAT)cnf, buffer, &dwSize))
{
_tprintf(TEXT("GetComputerNameEx failed (%d)\n"), GetLastError());
return;
}
else _tprintf(TEXT("%s: %s\n"), szDescription[cnf], buffer);
dwSize = _countof(buffer);
ZeroMemory(buffer, dwSize);
}
}
热心网友
时间:2022-03-01 11:26
用GetComputerNameEx(). 参数ComputerNameDnsFullyQualified。 MSDN上有完整的例子,这里转贴如下:
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
int main(int argc, char** argv)
{
TCHAR buffer[256] = TEXT("");
TCHAR szDescription[8][32] = {TEXT("NetBIOS"),
TEXT("DNS hostname"),
TEXT("DNS domain"),
TEXT("DNS fully-qualified"),
TEXT("Physical NetBIOS"),
TEXT("Physical DNS hostname"),
TEXT("Physical DNS domain"),
TEXT("Physical DNS fully-qualified")};
int cnf = 0;
DWORD dwSize = sizeof(buffer);
for (cnf = 0; cnf < ComputerNameMax; cnf++)
{
if (!GetComputerNameEx((COMPUTER_NAME_FORMAT)cnf, buffer, &dwSize))
{
_tprintf(TEXT("GetComputerNameEx failed (%d)\n"), GetLastError());
return -1;
}
else _tprintf(TEXT("%s: %s\n"), szDescription[cnf], buffer);
dwSize = _countof(buffer);
ZeroMemory(buffer, dwSize);
}
return 0;
}
热心网友
时间:2022-03-01 13:01
hostname是个包含主机名/域名的字符串,函数通过给定的主机名,返回一个包含主机名称和主机地址信息的指针结构体。
、用这个 。希望采纳
热心网友
时间:2022-03-01 14:52
是不是有GetComputerDomain()函数?
C语言怎么获取完整的计算机名称
用GetComputerNameEx()函数。函数原型:BOOL WINAPI GetComputerNameEx( _In_ COMPUTER_NAME_FORMAT NameType, _Out_ LPTSTR lpBuffer, _Inout_ LPDWORD lpnSize);参数 NameType 名称类型,lpBuffer 接收名字的缓冲区指针 lpnSize接收名字的缓冲区大小 返回值:成功返回非0值,失败返...
急求解使用gethostname()的方法
答案:使用gethostname的方法可以获取计算机的主机名。解释:gethostname是一个常用的系统调用,用于获取当前运行程序所在计算机的主机名。主机名是一台计算机在网络中的名称,可以通过多种命令和函数进行查询和获取。具体操作方法:1. 在大多数编程环境中,如C语言或Python,都有相应的库函数或方法来实现get...
谁会用C语言获取操作系统版本号,计算机名啊?
GetUserName(LPWSTR lpBuffer, LPDWORD nSize);lpBuffer是一个数组的地址,用来存贮得到的用户名,nsize是个指针,指向此存贮此数组大小的单元,就是数组能存贮的字符数量 GetVersionExW(LPOSVERSIONINFOW);参数LPOSVERSIONINFO是一个指向OSVERSIONINFO类型变量的指针,具体判断代码如下 定义 OSVERSIONINFO osvi;...
如何用c语言程序获取计算机信息
开机密码不能获取哦。用户名很简单。只要用个GetUserName这个API就行了。详细的代码我给你看看://#include "stdafx.h"//#include "GetSysInfo.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCWinApp theApp;using namespace std;// 获取CPU...
批处理的批处理
ComputerName 计算机名,即右键我的电脑--属性--计算机名 选项卡中的“完整的计算机名称” ComSpeccmd.exe完整路径名 HomeDrive系统分区盘符,一般都是C盘,故而HomeDrive=C:Path可执行文件默认搜索路径。这个东东非常重要!待会儿单独讲解…ProgramFiles 就是系统的Program Files的路径啦,一般都是C:\Program Files,这就是...
如何用C语言取得计算机的机器特征码?
/// 获取系统名称 /// /// <returns></returns> private static string GetOperationSystemInName(){ OperatingSystem os = Environment.OSVersion;string osName = "UNKNOWN";switch (os.Platform){ case PlatformID.Win32Windows:switch (os.Version.Minor){ case 0:osName = "Windows 95"...
C语言读取计算机CPU的序列号、硬盘(网卡、机器名)
if(pSvc->GetObject(bstrMyCpuName, 0L, NULL, &pCpuInst, NULL) != S_OK){ break;} if(pCpuInst->Get(bstrMyPropName, 0L, &pVal, NULL, NULL) == S_OK){ nCpuNum++;dwCpuSpeed += pVal.lVal;} VariantClear(&pVal);SysFreeString(bstrMyCpuName);bstrMyCpuName = NULL;} if...
请用c语言编程实现在计算机屏幕上分两行输出你的班级学号和姓名._百度...
include<stdio.h> void main(){ printf("班级:2015级计算机应用1班\n");printf("学号:123456789 \t姓名:张三");} 很简单,就两个输出语句,\n意思就是换行,\t是空8个字符的位置
怎么把用c语言开发的程序变成软件
1、打开Microsoft Visual Studio;2、在Microsoft Visual Studio界面中,点击编译菜单,执行编译指令,详细操作如下;3、编译完成后,再次在该菜单下,点击【生成】菜单,将会生成可执行文件,详细如下所示;4、上述执行完成后,我们可以在生成目录下查看可执行文件,如下图所示;5、最后直接双击执行该可执行...
C语言如何实现有重复元素的全排列?
在递归里面用交换的方式获取全排列,从第一个开始,不断与后面数交换,当然递归时不要忘记在后面写个换回来的语句。只要加个交换条件就可以了,在不相等时交换,相等时不交换。当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机...