diff --git a/Debug/SelfDel.exe b/Debug/SelfDel.exe new file mode 100644 index 0000000..f860e17 Binary files /dev/null and b/Debug/SelfDel.exe differ diff --git a/ReadMe.txt b/ReadMe.txt new file mode 100644 index 0000000..dfb3762 --- /dev/null +++ b/ReadMe.txt @@ -0,0 +1,30 @@ +======================================================================== + 控制台应用程序:SelfDel 项目概述 +======================================================================== + +应用程序向导已为您创建了此 SelfDel 应用程序。 + +本文件概要介绍组成 SelfDel 应用程序的每个文件的内容。 + + +SelfDel.vcxproj + 这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 + +SelfDel.vcxproj.filters + 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。 + +SelfDel.cpp + 这是主应用程序源文件。 + +///////////////////////////////////////////////////////////////////////////// +其他标准文件: + +StdAfx.h, StdAfx.cpp + 这些文件用于生成名为 SelfDel.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 + +///////////////////////////////////////////////////////////////////////////// +其他注释: + +应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 + +///////////////////////////////////////////////////////////////////////////// diff --git a/SelfDel.cpp b/SelfDel.cpp new file mode 100644 index 0000000..572cb61 --- /dev/null +++ b/SelfDel.cpp @@ -0,0 +1,75 @@ +// SelfDel.cpp : ̨Ӧóڵ㡣 +// + +#include "stdafx.h" +#include + + +int _tmain(int argc, _TCHAR* argv[]) +{ + printf("ⰴɾ!!!\n"); + system("pause"); + + char szFileName[MAX_PATH] = {0}; + char szCmdFileName[MAX_PATH] = {0}; + char szCmd[MAX_PATH] = {0}; + char szBat[MAX_PATH] = {0}; + int iTime = 5; + /* + ɾļ + 1. ʱ5 + 2. ɾָļ + 3. ɾ + + @echo off + choice /t 5 /d y /n >nul + del C:\Users\DemonGan\Desktop\SelfDel\Debug\SelfDel.exe + del %0 + */ + // ļ· + ::GetModuleFileName(NULL, szFileName, MAX_PATH); + ::lstrcpy(szCmdFileName, szFileName); + char *p = ::strrchr(szCmdFileName, '\\'); + p[0] = '\0'; + ::lstrcat(szCmdFileName, "\\selfdel.bat"); + // + ::wsprintf(szBat, "@echo off\nchoice /t %d /d y /n >nul\ndel %s\ndel %%0\n", iTime, szFileName); + // ļ + FILE *fp = NULL; + fopen_s(&fp, szCmdFileName, "w+"); + if (NULL == fp) + { + return 1; + } + fwrite(szBat, (1 + ::lstrlen(szBat)), 1, fp); + fclose(fp); + // + ::wsprintf(szCmd, "cmd.exe /c call %s", szCmdFileName); + // µḶ̌ؿ̨ķʽִcmd + STARTUPINFO si = { 0 }; + PROCESS_INFORMATION pi; + si.cb = sizeof(si); + si.dwFlags = STARTF_USESHOWWINDOW;//ָwShowWindowԱЧ + si.wShowWindow = FALSE;//˳ԱΪTRUEĻʾ½̵ + BOOL bRet = CreateProcess( + NULL,//ڴִָļļ + szCmd,//в + NULL,//ĬϽ̰ȫ + NULL,//ĬϽ̰ȫ + FALSE,//ָǰھԱӽ̼̳ + CREATE_NEW_CONSOLE,//Ϊ½̴һµĿ̨ + NULL,//ʹñ̵Ļ + NULL,//ʹñ̵Ŀ¼ + &si, + &pi); + if (bRet) + { + //ʹõľùص + CloseHandle(pi.hThread); + CloseHandle(pi.hProcess); + } + + + return 0; +} + diff --git a/SelfDel.sln b/SelfDel.sln new file mode 100644 index 0000000..75b7da9 --- /dev/null +++ b/SelfDel.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SelfDel", "SelfDel.vcxproj", "{BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A}.Debug|Win32.ActiveCfg = Debug|Win32 + {BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A}.Debug|Win32.Build.0 = Debug|Win32 + {BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A}.Release|Win32.ActiveCfg = Release|Win32 + {BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SelfDel.v12.suo b/SelfDel.v12.suo new file mode 100644 index 0000000..d9aa701 Binary files /dev/null and b/SelfDel.v12.suo differ diff --git a/SelfDel.vcxproj b/SelfDel.vcxproj new file mode 100644 index 0000000..32f756b --- /dev/null +++ b/SelfDel.vcxproj @@ -0,0 +1,95 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {BB89C63F-FB5A-4DD9-AC7E-B0679ED23F5A} + Win32Proj + SelfDel + + + + Application + true + v120 + MultiByte + + + Application + false + v120 + true + Unicode + + + + + + + + + + + + + true + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + + Create + Create + + + + + + \ No newline at end of file diff --git a/SelfDel.vcxproj.filters b/SelfDel.vcxproj.filters new file mode 100644 index 0000000..44e9194 --- /dev/null +++ b/SelfDel.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + 头文件 + + + 头文件 + + + + + 源文件 + + + 源文件 + + + \ No newline at end of file diff --git a/stdafx.cpp b/stdafx.cpp new file mode 100644 index 0000000..ab6fb75 --- /dev/null +++ b/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : ֻ׼ļԴļ +// SelfDel.pch ΪԤͷ +// stdafx.obj ԤϢ + +#include "stdafx.h" + +// TODO: STDAFX.H +// κĸͷļڴļ diff --git a/stdafx.h b/stdafx.h new file mode 100644 index 0000000..97ac785 --- /dev/null +++ b/stdafx.h @@ -0,0 +1,15 @@ +// stdafx.h : ׼ϵͳļİļ +// Ǿʹõĵ +// ضĿİļ +// + +#pragma once + +#include "targetver.h" + +#include +#include + + + +// TODO: ڴ˴óҪͷļ diff --git a/targetver.h b/targetver.h new file mode 100644 index 0000000..aadba2f --- /dev/null +++ b/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// SDKDDKVer.h õ߰汾 Windows ƽ̨ + +// ҪΪǰ Windows ƽ̨Ӧó WinSDKVer.h +// WIN32_WINNT ΪҪֵ֧ƽ̨Ȼٰ SDKDDKVer.h + +#include