如何在C ++中获取当前进程ID和机器名称

时间:2012-05-15 13:53:38

标签: c++

在C#中,可以直接获取当前进程ID和计算机名称:

int processID = Process.GetCurrentProcess().Id;
string machineName = Environment.MachineName;

如何在本机C ++中检索它们?

3 个答案:

答案 0 :(得分:5)

当您评论该平台是Windows 7时,WINAPI提供GetCurrentProcessId()GetComputerName()

GetComputerName()的简单示例:

const int BUF_SIZE = MAX_COMPUTERNAME_LENGTH + 1;
char buf[BUF_SIZE] = "";
DWORD size = BUF_SIZE;

if (GetComputerNameA(buf, &size)) // Explicitly calling ANSI version.
{
    std::string computer_name(buf, size);
}
else
{
    // Handle failure.
}

答案 1 :(得分:4)

getpid()&& gethostname() - 使用man了解所有相关信息......

答案 2 :(得分:0)

#ifdef _WIN32
 return GetCurrentProcessId(); 
#else
 return ::getpid();
#endif