100分求 如何获取当前进程所属程序的文件夹位置

load123 2004-11-26 02:59:08
100分求 如何获取当前进程所属程序的文件夹位置

请高手指点
...全文
403 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
vigny 2005-01-04
  • 打赏
  • 举报
回复
算了,来晚了,这么多人已经说了,只好接分了!
load123 2004-11-27
  • 打赏
  • 举报
回复
我的意思大家理解错了,我的意思是如何获取系统中任意的一个进程所属的程序的文件夹位置
hxhbluestar 2004-11-27
  • 打赏
  • 举报
回复
所有楼上方法的总结

//在C#里面获得应用程序的当前路径

Environment.CurrentDirectory
Environment.SystemDirectory; //获取系统目录

获取应用程序的当前工作目录。
System.IO.Directory.GetCurrentDirectory()
AppDomain.CurrentDomain.BaseDirectory
Application.StartupPath
Application.ExecutablePath
获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
-----------------------------------------------------------------------------------------------------------------------------

//获得某进程的程序文件所在路径

//方法1
Process[] ps = System.Diagnostics.Process.GetProcesses();

foreach(Process p in ps)
{
this.listBox1.Items.Add(System.IO.Path.GetDirectoryName(p.MainModule.FileName));
}

/*
p.MainModule.FileName是全路径,包括文件名
System.IO.Path.GetDirectoryName(p.MainModule.FileName)只是路径
*/

/*方法2*/
using System.Diagnostics;
using System.IO;
Process p=new Process.GetCurrentProcess();
ProcessModule pm=p.MainModule;
string s=pm.ModuleName;
Console.WriteLine(Path.GetFullPath(s));//得到当前进程的路径;
Console.WriteLine(Path.GetDirectoryName(Directory.GetCurrentDirectory(s)));
长江 2004-11-27
  • 打赏
  • 举报
回复
Environment.currentdirectory //控制台
application.startupwith //
yanransoft 2004-11-27
  • 打赏
  • 举报
回复
Application.StartupPath 属性
criedshy 2004-11-27
  • 打赏
  • 举报
回复
using System.Diagnostics;
using System.IO;
Process p=new Process.GetCurrentProcess();
ProcessModule pm=p.MainModule;
string s=pm.ModuleName;
Console.WriteLine(Path.GetFullPath(s));//得到当前进程的路径;
Console.WriteLine(Path.GetDirectoryName(Directory.GetCurrentDirectory(s)));
criedshy 2004-11-27
  • 打赏
  • 举报
回复
楼上的是正解
shuker 2004-11-27
  • 打赏
  • 举报
回复
Process[] ps = System.Diagnostics.Process.GetProcesses();

foreach(Process p in ps)
{
this.listBox1.Items.Add(System.IO.Path.GetDirectoryName(p.MainModule.FileName));
}

/*
p.MainModule.FileName是全路径,包括文件名
System.IO.Path.GetDirectoryName(p.MainModule.FileName)只是路径
*/
zzuxjwhbdotnet 2004-11-27
  • 打赏
  • 举报
回复
楼上都说了,我不好说什么了,帮顶一下吧。
hivak47 2004-11-27
  • 打赏
  • 举报
回复
获取和设置当前目录的完全路径 Application.startupwith
System.io.directory.getcurrentdirectory
lgg06 2004-11-27
  • 打赏
  • 举报
回复
study...
lucbesson 2004-11-26
  • 打赏
  • 举报
回复
都回答了
来晚了 顶一下!
exia 2004-11-26
  • 打赏
  • 举报
回复
Application.StartupPath
jinco 2004-11-26
  • 打赏
  • 举报
回复
Application.StartupPath
cxyPioneer 2004-11-26
  • 打赏
  • 举报
回复
Application.StartupPath
zhanghw20030303 2004-11-26
  • 打赏
  • 举报
回复
模块信息查阅一下MSDN吧,后边代码粘错误了把theNode.processInfo 改为P
把theNode.moduleInfo改为m
在labelMN.Text = theNode.moduleInfo.ModuleName;
加入foreach(ProcessModule m in allModules)
{
在结尾加入
}即可
zhanghw20030303 2004-11-26
  • 打赏
  • 举报
回复
Application.StartupPath //如何获取当前进程所属程序的文件夹位置
Environment.SystemDirectory; //获取系统目录
Environment.CurrentDirectory; //获取当前目录

//获取进程数组==模块信息
Process[] allProcesses = Process.GetProcesses();
foreach(Process p in allProcesses)
{
if(p.ProcessName.Equals("Idle"))
{
continue;
}
labelPN.Text = theNode.processInfo.ProcessName; //进程名称
labelPID.Text = theNode.processInfo.Id.ToString();//进程ID
labelSO.Text = theNode.processInfo.StartTime.Date.ToString();//进程开始时间
labelNOT.Text = theNode.processInfo.Threads.Count.ToString(); //线程数目
ProcessModuleCollection allModules = null;
try
{
allModules = p.Modules;
}
catch
{
continue;
}
ProcessModule[] modules = new ProcessModule[allModules.Count];
int i = 0;
foreach(ProcessModule m in allModules)
{
modules.SetValue(m, i++);
}
labelMN.Text = theNode.moduleInfo.ModuleName;
labelCN.Text = theNode.moduleInfo.FileVersionInfo.CompanyName;
labelLFF.Text = theNode.moduleInfo.FileVersionInfo.FileName;
labelFV.Text = theNode.moduleInfo.FileVersionInfo.FileVersion;
if(!theNode.moduleInfo.FileVersionInfo.FileDescription.Equals(""))
labelFD.Text = theNode.moduleInfo.FileVersionInfo.FileDescription;
else
labelFD.Text = "<None>";
DateTime timestamp = File.GetCreationTime(theNode.moduleInfo.FileVersionInfo.FileName);
labelFT.Text = timestamp.ToString();
FileInfo fileInfo = new FileInfo(theNode.moduleInfo.FileVersionInfo.FileName);
labelFS.Text = fileInfo.Length.ToString();
}


dazhu2 2004-11-26
  • 打赏
  • 举报
回复
Environment.currentdirectory
application.startupwith
System.io.directory.getcurrentdirectory
marvelstack 2004-11-26
  • 打赏
  • 举报
回复
在C#里面获得应用程序的当前路径

Environment.CurrentDirectory
获取应用程序的当前工作目录。
System.IO.Directory.GetCurrentDirectory()
AppDomain.CurrentDomain.BaseDirectory
Application.StartupPath
Application.ExecutablePath
获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
BearRui 2004-11-26
  • 打赏
  • 举报
回复
Application.StartupPath 属性

获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧