delphi做了一个监测磁盘文件操作的程序,监测到‘更新目录’状态时,实际是此目录里某文件有变化 15
由于状态提示太不清楚,无法在备份模块做出合理的备份同步操作。状态提示在以下接口下:functionSHEventName(strPath1,strPath2:string...
由于状态提示太不清楚,无法在备份模块做出合理的备份同步操作。状态提示在以下接口下:
function SHEventName(strPath1, strPath2: string; lParam: Integer): string;
SHCNE_UPDATEDIR: sEvent := '更新目录 ' + strPath1; 展开
function SHEventName(strPath1, strPath2: string; lParam: Integer): string;
SHCNE_UPDATEDIR: sEvent := '更新目录 ' + strPath1; 展开
2个回答
展开全部
你需要先进行监视。SHNotify_Register(self.Handle)//注册Shell监视
procedure TForm1.WMShellReg(var Message: TMessage);
var
strPath1, strPath2: string;
charPath: array[0..259] of char;
pidlItem: PSHNOTIFYSTRUCT;
begin
pidlItem := PSHNOTIFYSTRUCT(Message.wParam);
//获得系统消息相关得路径
SHGetPathFromIDList(pidlItem.dwItem1, charPath);
strPath1 := charPath;
SHGetPathFromIDList(pidlItem.dwItem2, charPath);
strPath2 := charPath;
Memo1.Lines.Add(SHEvEntName(strPath1, strPath2, Message.lParam) + chr(13) + chr(10));
end
procedure TForm1.WMShellReg(var Message: TMessage);
var
strPath1, strPath2: string;
charPath: array[0..259] of char;
pidlItem: PSHNOTIFYSTRUCT;
begin
pidlItem := PSHNOTIFYSTRUCT(Message.wParam);
//获得系统消息相关得路径
SHGetPathFromIDList(pidlItem.dwItem1, charPath);
strPath1 := charPath;
SHGetPathFromIDList(pidlItem.dwItem2, charPath);
strPath2 := charPath;
Memo1.Lines.Add(SHEvEntName(strPath1, strPath2, Message.lParam) + chr(13) + chr(10));
end
追问
我的意思是在‘更新目录’这个事件状态发生时,提示的内容太过模糊,希望能得到它更新的目录里的具体变动。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询