olidev olidev - 6 days ago 8
C++ Question

how to get current process ID and machine name in C++

In C#, it is straightforward to get the current process ID and machine name:

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


How can I retrieve them in native C++?

Thanks in advance.

Answer

As you commented the platform is Windows 7, the WINAPI provides GetCurrentProcessId() and GetComputerName().

Simple example for 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.
}
Comments