//这是一段可以删除自身的C代码,非常不错的解决了曾经的一个经典编程问题——程序如何把自己删除 #include <windows.h> void SelfDel() { HANDLE hFile; DWORD dwWritten; char selfPath[MAX_PATH]={0}; char command[1024]={0}; char name[]="del_self_leng_que.bat"; GetModuleFileName(NULL,selfPath,MAX_PATH); lstrcpy(command,"@echo off/n/r"); lstrcat(command,"@del /""); lstrcat(command,selfPath); lstrcat(command,"/"/n/r"); lstrcat(command,"@del "); lstrcat(command,name); lstrcat(command,"/n/r@exit"); hFile=CreateFile(name,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL); WriteFile(hFile,(LPCVOID)command,sizeof(command),&dwWritten,NULL); CloseHandle(hFile); WinExec(name,SW_HIDE); ExitProcess(0); } void main() { SelfDel(); }