用20000行代码编写了一个程序。从完成到出版,我唯一的问题是我正在尝试获取所有以扩展名结尾的内容。DLL将在文件夹中删除。或者,当应用程序在该可执行文件。
现在我有了一个有效的代码:
private void Form1_Load(object sender, EventArgs e)
{
string curFile = "FILENAME.dll";
if (File.Exists(curFile))
{
this.Close();
}
}
我对那个代码唯一的问题是文件名。任何人都可以将文件名重命名为除此之外的特定名称,并且仍然可以使用修改后的lib来删除我的代码这也起作用,因为我不需要指定路径或目录的位置,它为我做这件事。我需要几乎阻止任何类型的特定扩展与可执行文件位于同一路径,而不是只看到名称"FILENAME.DLL".DLL".
要获取某个目录中的所有DLL,请使用Directory.EnumerateFiles
方法:
您可以将Directory.GetCurrentDirectory
用于当前应用程序目录。
private void Form1_Load(object sender, EventArgs e)
{
var allDlls = Directory.EnumerateFiles(Directory.GetCurrentDirectory(), "*.dll");
if (allDlls.Any())
{
this.Close();
}
}