【发布时间】:2016-02-18 07:49:44
【问题描述】:
我做了一个在 USB 闪存驱动器上写入 txt 文件的方法。目前,我通过绑定到按钮的 RelayCommand 启动该方法。但我想在自动插入 USB 闪存驱动器时启动该方法。因此,此方法会自动将 txt 文件写入插入的闪存驱动器上。(GetDrives 方法将插入的第一个驱动器的驱动器号回复给我)。有谁知道如何实现这一点?
public void WriteFileOnFDrive()
{
var firstDrive = GetDrives().FirstOrDefault();
if (!string.IsNullOrEmpty(firstDrive))
{
string myText = "TestText";
string path = firstDrive + @"SomeText.txt";
if (File.Exists(path))
{
Console.WriteLine("SomeText already exists!");
}
else
{
System.IO.File.WriteAllText(path, myText);
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden | FileAttributes.ReadOnly | FileAttributes.System);
}
}
}
编辑:我不需要已经插入的驱动器。我需要在插入新的 USB 闪存驱动器时触发我的方法。
【问题讨论】:
-
我认为这个答案展示了如何找到已经插入的 USB 驱动器。但是我想在插入驱动器时开始我的方法。
-
所以你不能听 WM_DEVICECHANGE (因为stackoverflow.com/questions/6003822/… 没有回答你的问题)...我认为剩下的选项不多 - 也许可以在计时器上投票?
标签: c# wpf usb usb-flash-drive