确定应用程序的主位置

本文关键字:位置 应用程序 | 更新日期: 2023-09-27 18:27:09

我正在尝试创建一个程序,用户必须在其桌面上运行.exe。。。如果他们试图从其他地方运行它,我希望我创建的.vbs弹出文件出现,告诉他们把它放在桌面上。我已经制作了这个程序,它运行良好,但人们无法阅读说明,所以我认为这可能是一个好方法。不幸的是,我遇到了麻烦,我哪儿也去不了。如果有人能帮助我,我将不胜感激。

确定应用程序的主位置

我真的不明白你为什么要这么做,但你可以在Main中查看应用程序是否从桌面运行

static void Main()
{
  var AsmPath =System.IO.Path.GetDirectoryName( 
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) ;
   var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  if (AsmPath == desktopPath)
  (
      MessageBox.Show ("You can only run this from the desktop");
      Application.Exit();
  )
  else 
       Application.Run(new Form1());
}

如果你需要从个人桌面的角度来做一些事情(比如相对于桌面存储文件的位置),你可以查询该位置,并将其用作任何后续工作的基础。

string UserDesktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

我支持Conrad不确定你为什么要这么做。但是,如果你谈论的是将exe放在桌面上并从那里执行(而不是快捷方式),那么你应该能够使用Assembly.GetExecutingAssembly().Location,并将其与System.Environment.GetFolderPath(Environment.SpecialFolder.DDesktop)的用户桌面位置进行比较