如何在本机C++中获取进程名称和日期时间戳

how to get process name and date time stamp in native C++

本文关键字:进程名 日期 时间戳 获取 本机 C++      更新时间:2023-10-16

在本机C++中,如何获取当前进程名称和日期时间。我不是一个C++程序员。

在 C# 中,像这样做是非常微不足道的:

进程名称:

Process.GetCurrentProcess().ProcessName

日期时间:

DateTime.Now.ToString("yyyy-MM-dd_HH.mm.ss.ff")

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

要获取当前进程的名称,您可以使用GetModuleFileName()

char exe_path[MAX_PATH];
GetModuleFileName(NULL, exe_path, MAX_PATH);

然后,您可以提取最后一个字符之后的exe_path部分。

要获取当前时间,您可以使用 std::time() .

GetSystemTime

语法

void WINAPI GetSystemTime(
  __out  LPSYSTEMTIME lpSystemTime
);

参数: lpSystemTime [out]

指向用于接收当前系统日期的 SYSTEMTIME 结构的指针 和时间。lpSystemTime 参数不能为 NULL。使用 NULL 将 导致访问冲突。

返回值

:此函数不返回值或提供扩展错误信息。

备注:要设置当前系统日期和时间,请使用设置系统时间函数。

要求:最低支持的客户端 Windows 2000 专业

支持的最低服务器:Windows 2000 服务器

标题:Winbase.h(包括Windows.h(

库 : 内核32.lib

DLL : 内核32.dll

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724390(v=vs.85(.aspx

对于进程名称:

查询完整进程图像名称函数

获取模块文件名Ex函数

进程和线程函数可以在这里找到

进程名称:

char name[256];
GetProcessImageFileName(GetCurrentProcess(),name,256);

您也可以从命令行参数中获取它

对于日期,请使用 time.h 中的 localtime((,示例在这里