如题!

解决方案 »

  1.   

    你为什么要删除正在运行的.exe文件呢,一般来说,这是比较危险的行为,如果直接删除了正在运行的.exe文件有可能会破坏整个文件系统,许多与该.exe文件挂在一起的资源也有可能会出现错误.
    当然,如果,你一定要做的话,我想可以通过定义一个中间工作者函数线程,并使该函数线程具有高的优先级,在函数体中实现文件删除工作.
      

  2.   

    请看《C++编程思想》Bruce Eckel编
      

  3.   

    以下代码不是我的,来自于www.pediy.com
    这段代码我也不能完全理解!int main(int argc, char *argv[]) 

        HMODULE module = GetModuleHandle(0); 
        CHAR buf[MAX_PATH]; 
        GetModuleFileName(module, buf, sizeof buf); 
        CloseHandle(HANDLE(4)); 
        __asm { 
            lea    eax, buf 
            push    0 
            push    0 
            push    eax 
            push    ExitProcess 
            push    module 
            push    DeleteFile 
            push    UnmapViewOfFile 
            ret 
        } 
        return 0; 
      

  4.   

    谢谢大家的热心帮助,问题我已经解决了。我要实现的是当用户需要时,能够实现自动删除当前程序所在的目录及文件,包括当前正在运行的exe文件。我使用一个简单的批处理实现的,偷了一点懒。