ProcessStartInfo("ipconfig", "/all"); 获取信息

List < string > macs = new List < string > ();
  ProcessStartInfo startInfo = new ProcessStartInfo("ipconfig", "/all");
  startInfo.UseShellExecute = false;
  startInfo.RedirectStandardInput = true;
  startInfo.RedirectStandardOutput = true;
  startInfo.RedirectStandardError = true;
  startInfo.CreateNoWindow = true;

  Process p
= Process.Start(startInfo);
  // 截取输出流
  StreamReader reader = p.StandardOutput;
  string line = reader.ReadLine();

  while ( ! reader.EndOfStream)
  {
    if ( ! string .IsNullOrEmpty(line))
    {
      line
= line.Trim();

      if (line.StartsWith( " Physical Address " ))
      {
        macs.Add(line);
      }
    }

    line
= reader.ReadLine();
  }

  // 等待程序执行完退出进程
  p.WaitForExit();
  p.Close();
  reader.Close();

  return macs;
}
在C#中,你可以使用`System.Diagnostics.ProcessStartInfo`和`System.Environment.GetFolderPath`等类来获取快捷方式的相关信息。以下是获取快捷方式信息的一种常见方法: ```csharp using System; using System.Diagnostics; public class ShortcutInfo { public static void GetShortcutDetails(string shortcutPath) { try { using (ProcessStartInfo startInfo = new ProcessStartInfo(shortcutPath)) { // 解析快捷方式 string targetPath = startInfo.FileName; // 获取快捷方式指向的目标程序的完整路径 if (!string.IsNullOrEmpty(targetPath)) { Console.WriteLine($"目标路径: {targetPath}"); } else { Console.WriteLine("无法解析快捷方式目标"); } // 获取图标路径 string iconLocation = GetIconLocation(shortcutPath); if (!string.IsNullOrEmpty(iconLocation)) { Console.WriteLine($"图标路径: {iconLocation}"); } else { Console.WriteLine("无法获取图标位置"); } } } catch (Exception ex) { Console.WriteLine($"异常: {ex.Message}"); } } private static string GetIconLocation(string shortcutPath) { return System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.Programs), Path.GetFileNameWithoutExtension(shortcutPath) + ".lnk", "Icon"); } } // 调用示例 string shortcutPath = @"C:\Users\YourUsername\Desktop\MyShortcut.lnk"; ShortcutInfo.GetShortcutDetails(shortcutPath); ``` 这个例子展示了如何通过`ProcessStartInfo`解析快捷方式的文件名(即指向的实际程序),以及尝试获取其图标路径。如果需要更详细的属性(如工作目录、命令行参数等),可能需要进一步分析快捷方式本身的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值