确定应用程序的主位置
本文关键字:位置 应用程序 | 更新日期: 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)的用户桌面位置进行比较