当我开始一个流程并希望关闭这个流程时,Process.Close()
和之间有什么区别Process.Kill()
?
我问,因为我有一个应用程序,它开始使用Wireshark通过命令行使用命令来捕获数据包Windows = hidden
.因此,当我想停止捕获时,我会终止进程.因此有时捕获会打开,并显示错误,即最后一个数据包在中间被切断,所以我想知道可以使用close()
之前kill()
会解决这个问题吗?
当我开始捕捉时,我可以通过按Ctrl + C关闭它,但在我的情况下,我打开隐藏状态的窗口,我可以通过我的代码做类似的事情吗?
我试图以这种方式从文件夹中获取所有文件:
try
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.*", SearchOption.AllDirectories);
}
catch (UnauthorizedAccessException)
{
throw;
}
Run Code Online (Sandbox Code Playgroud)
如果我的根文件夹包含用户无权访问的文件夹,UnauthorizedAccessException
则会捕获该文件夹并且我的数组为空并且所有递归都失败.
我如何处理这种情况并确保我的代码在没有权限的情况下忽略位置但是从具有权限的位置添加文件?
NetworkInterface[] arr = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface item in arr)
{
PhysicalAddress mac = item.GetPhysicalAddress();
}
Run Code Online (Sandbox Code Playgroud)
它返回值00E0EE00EE00,而我希望它显示类似00:E0:EE:00:EE:00但我需要使用.Net 4
有任何想法吗 ?
我试图从SaveFileDialog
我的文件名中获取我的路径以创建一个DirectoryInfo
对象
private void btnBrowseCapture_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialogBrowse2 = new SaveFileDialog();
saveFileDialogBrowse2.Filter = "Pcap file|*.pcap";
saveFileDialogBrowse2.Title = "Save an pcap File";
saveFileDialogBrowse2.ShowDialog();
if (saveFileDialogBrowse2.FileName != "")
{
string str = saveFileDialogBrowse2.FileName;
}
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我打开了Tshark进程并开始捕获,当我想完成捕获时,我杀死了Tshark进程,因此有时捕获文件已损坏,而当我尝试打开此文件时,我收到了错误,捕获文件似乎在数据包中间已经被缩短了-如何防止这个错误, 有一种防止 Tshark进程关闭的连击方式来避免这个错误?
我正在构建一个WinForms应用程序,它通过一个接收来自用户的路径SaveFileDialog
.
这是我的代码的相关部分.如何确定路径pcapFile
是否有效且存在?
private void btnBrowse_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialogBrowse = new SaveFileDialog();
saveFileDialogBrowse.Filter = "Pcap file|*.pcap";
saveFileDialogBrowse.Title = "Save an pcap File";
saveFileDialogBrowse.ShowDialog();
pcapFile = saveFileDialogBrowse.FileName; //do whatever you like with the selected filename
if (pcapFile != "")
{
FileInfo fileInfo = new FileInfo(pcapFile);
tbOutputFileName.Text = fileInfo.FullName;
}
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我用我的标签更新我的ui,我想以#,## 0格式显示数字.myClass.getNumberOfFiles返回字符串.
myLabel.Text = myClass.getNumberOfFiles();
Run Code Online (Sandbox Code Playgroud) 我写了一个方法,需要找到路径中的所有文件,我想使用递归获取所有文件.这是我目前的方法:
public void doStart(DirectoryInfo dir, string filePattern)
{
try
{
foreach (FileInfo fileInfo in dir.GetFiles(filePattern))
{
if (fileFound != null)
{
fileFound(fileInfo);
}
}
}
catch (Exception)
{
}
try
{
foreach (DirectoryInfo dirInfo in dir.GetDirectories())
{
doStart(dirInfo, filePattern);
}
}
catch (Exception)
{
}
}
public void Start(string path, string filePattern)
{
doStart(new DirectoryInfo(path), filePattern);
}
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法来编写这种递归或这是否足够好?