有一个程序,我想点击某个按钮时执行打开某个文件的功能,代码如是下:
procedure TCform.EditClick(Sender: TObject);
var
        path: String;
        s:string;
begin
        path := 'write '+ExtractFilePath(Application.Exename)+ '\text\'+11.txt;
        Winexec(PChar(path) ,SW_RESTORE);
end;
结果这个文件以写字板的形式打开了,当我对文件进行修改时,弹出是否保存对话框,
现在我想当我修改了文件时,我按是否保存对话框的“是”时保存文件并执行某个事件,我应该怎样捕获这个事件?

解决方案 »

  1.   

    没有你想的那么简单。DLL注入,然后Hook消息WM_COMMAND进行处理。
      

  2.   

    这个有点困难 我觉得
    不过你可以换个思路去实现
    你为什么不借用类似与memo的中间控件呢???
      

  3.   

    我觉得你就直接监视记事本进程结束的通知吧,用WaitForSingleObject。
    管它保存没保存,都把文件重新装载一遍得了。
    这样的话比Hook简单多了。
      

  4.   

    那借用中间控件Mome或Editor,应怎样将文件(例11.txt)的内容写入Mome或Editor里面。(最好不要弹出openDialog对话框)