1

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

在 C# 中,这样做非常简单:

进程名称:

Process.GetCurrentProcess().ProcessName

约会时间:

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

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

4

3 回答 3

2

获取系统时间

句法

void WINAPI GetSystemTime(
  __out  LPSYSTEMTIME lpSystemTime
);

参数: lpSystemTime [out]

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

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

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

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

最低支持服务器: Windows 2000 Server

头文件: Winbase.h(包括 Windows.h)

库: Kernel32.lib

DLL: Kernel32.dll

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

对于进程名称:

QueryFullProcessImageName 函数

GetModuleFileNameEx 函数

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

于 2012-05-18T11:50:06.680 回答
2

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

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

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

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

于 2012-05-18T11:38:40.083 回答
1

进程名称:

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

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

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

于 2012-05-18T11:42:43.777 回答