如何在 C++ 中监视目录并读取该目录中的图像
How to monitor a directory and read image in this directory in C++
首先,我是 C++ 新手。我正在使用 Visual Studio 2010。我参与了一个包含相机的项目。相机将图像(位图)发送到我计算机中的特定文件夹位置。我想一致地监视目录。当目录下得到一个新的位图图像时,我想对这个图像进行处理。我要使用的代码始终监视目录并读取该目录中的最后一个位图图像。我可以用什么来实现它?你有什么建议?可以写下源码吗?感谢您的关注。
Windows ReadDirectoryChangesW API 可用于监视目录中添加的文件。但是,它非常高级,如果您不熟悉 C++ 和 Windows 编程,它可能超出您的能力范围。您将需要一些经验丰富的帮助。
我不同意回答这个问题的其他人的观点,它可以通过我在下面使用的一些共存库轻松完成,这段代码可以满足您的需求,
string processName()
{
FILETIME bestDate = { 0, 0 };
FILETIME curDate;
string name;
CFileFind finder;
BOOL bWorking = finder.FindFile("*.png");
while (bWorking)
{
bWorking = finder.FindNextFile();
// date = (((ULONGLONG) finder.GetCreationTime(ft).dwHighDateTime) << 32) + finder.GetCreationTime(ft).dwLowDateTime;
finder.GetCreationTime(&curDate);
if (CompareFileTime(&curDate, &bestDate) > 0 )
{
bestDate = curDate;
name = finder.GetFileName().GetString();
// name = (LPCTSTR) finder.GetFileName();
}
}
return name;
}
这是我为代码写的,它采用了最后输入的 /.png 扩展名,你可以检查 libray。
请告诉我进一步的问题
首先,我是 C++ 新手。我正在使用 Visual Studio 2010。我参与了一个包含相机的项目。相机将图像(位图)发送到我计算机中的特定文件夹位置。我想一致地监视目录。当目录下得到一个新的位图图像时,我想对这个图像进行处理。我要使用的代码始终监视目录并读取该目录中的最后一个位图图像。我可以用什么来实现它?你有什么建议?可以写下源码吗?感谢您的关注。
Windows ReadDirectoryChangesW API 可用于监视目录中添加的文件。但是,它非常高级,如果您不熟悉 C++ 和 Windows 编程,它可能超出您的能力范围。您将需要一些经验丰富的帮助。
我不同意回答这个问题的其他人的观点,它可以通过我在下面使用的一些共存库轻松完成,这段代码可以满足您的需求,
string processName()
{
FILETIME bestDate = { 0, 0 };
FILETIME curDate;
string name;
CFileFind finder;
BOOL bWorking = finder.FindFile("*.png");
while (bWorking)
{
bWorking = finder.FindNextFile();
// date = (((ULONGLONG) finder.GetCreationTime(ft).dwHighDateTime) << 32) + finder.GetCreationTime(ft).dwLowDateTime;
finder.GetCreationTime(&curDate);
if (CompareFileTime(&curDate, &bestDate) > 0 )
{
bestDate = curDate;
name = finder.GetFileName().GetString();
// name = (LPCTSTR) finder.GetFileName();
}
}
return name;
}
这是我为代码写的,它采用了最后输入的 /.png 扩展名,你可以检查 libray。
请告诉我进一步的问题