获取和设置当前目录的完全限定路径
string str = System Environment CurrentDirectory
Result: C:\xxx\xxx
获取启动了应用程序的可执行文件的路径 不包括可执行文件的名称
string str = System Windows Forms Application StartupPath
Result: C:\xxx\xxx
获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径 包含文件名
string str = System Diagnostics Process GetCurrentProcess() MainModule FileName
Result: C:\xxx\xxx\xxx exe
获取当前 Thread 的当前应用程序域的基目录 它由程序集冲突解决程序用来探测程序集
string str = System AppDomain CurrentDomain BaseDirectory
Result: C:\xxx\xxx\
获取应用程序的当前工作目录
string str = System IO Directory GetCurrentDirectory()
Result: C:\xxx\xxx
获取和设置包含该应用程序的目录的名称
string str = System AppDomain CurrentDomain SetupInformation ApplicationBase
Result: C:\xxx\xxx\
获取当前进程的完整路径 包含文件名
string str = this GetType() Assembly Location
Result: C:\xxx\xxx\xxx exe
获取启动了应用程序的可执行文件的路径 包括可执行文件的名称
string str = System Windows Forms Application ExecutablePath
Result: C:\xxx\xxx\xxx exe
lishixinzhi/Article/program/net/201311/15184要用 c++ 程序:
#include <windows.h>
#include <string>
#include <iostream>
using namespace std
string ExePath() {
char buffer[MAX_PATH]
GetModuleFileName( NULL, buffer, MAX_PATH )
string::size_type pos = string( buffer ).find_last_of( "\\/" )
return string( buffer ).substr( 0, pos)
}
int main() {
cout <<"my directory is " <<ExePath() <<"\n"
}
=====
c 程序,也许可以通过char *argv[] 寻找,
int main(int argc, char *argv[]){。。。。}
argv[0] 含程序名,可以尝试 用 system() 调 DOS 命令查找:
#include<stdio.h>
int main(int argc, char *argv[])
{
FILE *fp
char s[80]
sprintf(s,"DIR %s.c >a.log",argv[0])
system(s) // 执行后,屏幕输出 存入 a.log 文本文件
fp =fopen("a.log","r") // 打开文件
// 这里 一行一行地读文件,找到 关键词 Directory of , 例如:
// Directory of D:\ZZ\C\example
// D:\ZZ\C\example 就是当前路径
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)