在C#中,获取当前进程的ID和机器名称很简单:
我该如何在本地C++中检索它们?
int processID = Process.GetCurrentProcess().Id;
string machineName = Environment.MachineName;
我该如何在本地C++中检索它们?
int processID = Process.GetCurrentProcess().Id;
string machineName = Environment.MachineName;
根据您的评论,平台为 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.
}
#include <windows.h>
并调用函数:DWORD pid = GetCurrentProcessId();
- hmjdGetComputerNameA()
并使用 char
和 std::string
。 - hmjdgetpid()
和gethostname()
- 使用man
命令了解它们的所有信息...
gethostname
也有一个等效工具,请浏览我上面链接的网站)。 - Nim#ifdef _WIN32
return GetCurrentProcessId();
#else
return ::getpid();
#endif
boost::this_thread::get_id()
吗? - Flexo