如何获取程序的完整运行路径

如何获取程序的完整运行路径,第1张

C#获取当前应用程序所在路径及环境变量

一、获取当前文件的路径

string str1=ProcessGetCurrentProcess()MainModuleFileName;//可获得当前执行的exe的文件名。

string str2=EnvironmentCurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径[如“C:\mySubDirectory”])。

string str3=DirectoryGetCurrentDirectory(); //获取应用程序的当前工作目录。

string str4=AppDomainCurrentDomainBaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。

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

string str6=ApplicationExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

string str7=AppDomainCurrentDomainSetupInformationApplicationBase;//获取或设置包含该应用程序的目录的名称。

1 SystemDiagnosticsProcessGetCurrentProcess()MainModuleFileName

获取模块的完整路径。

2 SystemEnvironmentCurrentDirectory

获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

3 SystemIODirectoryGetCurrentDirectory()

获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\>

find / -name '%bin'

find是命令

/ 是目录 这里是指根目录 也就是硬盘根

-name 是指通过名称搜索

'%bin' 这里是条件 支持通配符

for /f "tokens=1-10 delims=; " %i in (%paht%) do (set i=%i & set j=%j & set k=%k &)

这个命名之后就把每一个路径分别放入了变量i,j,k,

首先需要完善EncTable里的字节内容。(我估计这个EncTable里的字节应该是256个不重复的字节,要不密文就还原不了了。)

const unsigned char EncTable[256] =

{

0x76,0x3F,0xD9,0xE4,0xBB,0x92,0xDF,0xF4,0xF2,0xAF,0x97,0x34,0xE7,0xA8,0x20,0xF3,

0xC3,0xBE,0xA1,0xB8,0x41,0x38,0x8B,0x59,0x26,0x94,0x74,0x96,0xA5,0xA6,0xC7,0xEA,

0x16,0x3C,0x4E,0x88,0xD3,0x19,0x75,0x9F,0x03,0x15,0x54,0x42,0x8A,0xD7,0xCC,0x5A,

0xD8,0xBC,0x43,0x00,0x5D,0xA2,0xF5,0xFA,0x40,0xC8,0x65,0xC2,0xCF,0x72,0xA4,0xFC,

0xFB,0x77,0x33,0xF8,0x1B,0xF9,0xB3,0x80,0xF7,0x3D,0x45,0x9C,0xAB,0xE8,0xE1,0x58,

0x3A,0xCE,0x2C

};

const int N=1024; //我每次从文件中读1024个字节进行转换,你可以根据需要适当调节。

// strHexPathName是你要转换的Hex文件路径字符串(包括路径,文件名和扩展名)

// strBinPathName是转换后的Bin文件路径字符串(包括路径,文件名和扩展名)

void Convert(LPCTSTR strHexPathName,LPCTSTR strBinPathName)

{

CFile fileHex;

CFile fileBin;

if(!fileHexOpen(strHexPathName,CFile::modeRead|CFile::typeBinary)){

return;

}

if(!fileBinOpen(strBinPathName,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary)){

fileHexClose();

return;

}

unsigned char pBufRead[N]={0};

unsigned char pBufWrite[N]={0};

int nReadLen=0;

do{

nReadLen=fileHexRead(pBufRead,N);

if(nReadLen>0){

Encrypt(pBufRead,pBufWrite,nReadLen);

}

fileBinWrite(pBufWrite,nReadLen);

}while(nReadLen>0);

fileBinClose();

fileHexClose();

}

void Encrypt(unsigned char pInBuf,unsigned char pOutBuf,int nLength)

{

for(int i=0;i<nLength;i++){

pOutBuf[i]=EncTable[pInBuf[i]];

}

}

以上就是关于如何获取程序的完整运行路径全部的内容,包括:如何获取程序的完整运行路径、java web工程普通java类获得当前项目的工程路径读取xml文件,路径会被定位到tomcat安装路路径的bin下面、如果我想找出Linux中所有bin文件,用什么命令可以实现另外Debian5默认的PATH制定目录是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9284500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存