!怎样能简单的实现这个小程序!文件的移动,目录的监控
求助!怎样能简单的实现这个小程序!文件的移动,目录的监控
这是程序的功能是监视电脑桌面有没有出现jpg图片,如果出现了就把jpg文件移动到一个指定的目录下。
要求尽量用C语言,尽量少涉及MFC的知识。可以使用少量API。毕竟这是C语言练手的。
我写的核心代码是用死循环不停地在桌面目录下查找后缀名为.jpg的文件,找到后就移动到一个目录下。一直这么循环。
用死循环是因为我不知道怎么监听一个目录下文件的改变。
我想把这个程序做成一个在后台运行的进程。可我不知道怎么隐藏控制台。
这样不停得循环查找消耗大吗?有更好的办法吗?
下面是我的初步代码
------解决方案--------------------
控制台可以实现隐藏,可做成服务。
这个代码效率肯定不行,会耗CPU,外面加个while循环,里面调用sleep,1能起到定时器左右,2能一定程度上耗CPU。但这也不是好办法,好办法是监测桌面添加新文件的事件,然后通知程序。
------解决方案--------------------
2能一定程度上减少耗CPU
------解决方案--------------------
------解决方案--------------------
这是程序的功能是监视电脑桌面有没有出现jpg图片,如果出现了就把jpg文件移动到一个指定的目录下。
要求尽量用C语言,尽量少涉及MFC的知识。可以使用少量API。毕竟这是C语言练手的。
我写的核心代码是用死循环不停地在桌面目录下查找后缀名为.jpg的文件,找到后就移动到一个目录下。一直这么循环。
用死循环是因为我不知道怎么监听一个目录下文件的改变。
我想把这个程序做成一个在后台运行的进程。可我不知道怎么隐藏控制台。
这样不停得循环查找消耗大吗?有更好的办法吗?
下面是我的初步代码
- C/C++ code
// 演示.cpp : Defines the entry point for the console application. #include "stdafx.h" #include <stdio.h> #include<windows.h> int main() { WIN32_FIND_DATA filedata; HANDLE handle=NULL; handle=FindFirstFile("C:\\Users\\chao\\Desktop\\*.jpg",&filedata); if(handle!=INVALID_HANDLE_VALUE) { MessageBox(NULL,(LPCTSTR)filedata.cFileName,"title",MB_YESNO); char path[256]={"C:\\Users\\chao\\Desktop\\"}; char path2[256]={"C:\\Users\\chao\\Desktop\\图片\\"}; strcat(path,filedata.cFileName); strcat(path2,filedata.cFileName); if(MoveFile(path,path2)==0) printf("移动失败"); } else printf("NOT FIND!\n"); return 0; }
------解决方案--------------------
控制台可以实现隐藏,可做成服务。
这个代码效率肯定不行,会耗CPU,外面加个while循环,里面调用sleep,1能起到定时器左右,2能一定程度上耗CPU。但这也不是好办法,好办法是监测桌面添加新文件的事件,然后通知程序。
------解决方案--------------------
2能一定程度上减少耗CPU
------解决方案--------------------
------解决方案--------------------