MFC获取当前程序路径

这篇具有很好参考价值的文章主要介绍了MFC获取当前程序路径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、获取当前进程的目录

  • 可以获取exe的路径,但是当用文件对话框成功打开一个文件后,该目录就被修改为被打开的文件所在目录。
CString GetWorkDir(){
	char pFileName[MAX_PATH]={0};
	int nPos=GetCurrentDirectory(MAX_PATH,pFileName);
	
	CString csFullPath(pFileName);	
	if(nPos<0)
		return CString("");
	else
		return csFullPath;
	
}

2、获取当前运行程序的目录

  • 获取的是当前exe的路径。
  • 建议使用这种方法。
CString GetModuleDir(){
	HMODULE module=GetModuleHandle(0);
	char pFileName[MAX_PATH]={0};
	GetModuleFileName(module,pFileName,MAX_PATH);
	CString csFullName(pFileName);
	int nPos=csFullName.ReverseFind('\\');
	if(nPos<0)
		return CString("");
	else
		return csFullName.Left(nPos);	
}

3、打开指定目录

  • 如,打开C盘
ShellExecute(NULL,NULL,"explorer","C:\\",NULL,SW_SHOWNORMAL);
  • 打开CMD
ShellExecute(NULL,NULL,"cmd",NULL,NULL,SW_SHOWNORMAL);
ShellExecute(NULL,"open","cmd",NULL,NULL,SW_SHOWNORMAL);
  • 打开计算器
ShellExecute(NULL,NULL,"calc",NULL,NULL,SW_SHOWNORMAL);
ShellExecute(NULL,"open","calc",NULL,NULL,SW_SHOWNORMAL);
  • 打开txt文件
ShellExecute(NULL,"open",“C:\\a.txt”,NULL,NULL,SW_SHOWNORMAL);

文章来源地址https://www.toymoban.com/news/detail-583377.html

到了这里,关于MFC获取当前程序路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC中获取任务栏大小

    你可以这样 HWND hwnd=GetDesktopWindow(); RECT rect; GetClientRect(hwnd,rect);//可以得到桌面大小 还有就是上面所说的 int nScreenWidth, nScreenHeight; nScreenWidth = GetSystemMetrics(SM_CXSCREEN); nScreenHeight = GetSystemMetrics(SM_CYSCREEN); RECT rt; SystemParametersInfo(SPI_GETWORKAREA,0,(PVOID)rt,0);

    2024年02月09日
    浏览(63)
  • MFC获取客户区鼠标位置和屏幕区鼠标位置

    GetCursorPos获取屏幕区鼠标位置,参数是指向接收光标屏幕坐标的 POINT 结构的指针 MFC的窗体消息响应函数OnMouseMove,第二个CPoint参数代表当前鼠标点在客户区的位置 因此重载MFC的OnMouseMove函数就可以获取客户区鼠标位置 测试代码

    2024年02月08日
    浏览(41)
  • 找不到mfc140u.dll或者Microsoft Visual C++ 2017 Redistributable一直安装失败解决

    安装后提示这个问题,我将xshell卸载重新安装后发现安装过程中提示Microsoft Visual C++ 2017 Redistributable一直安装失败,所以问题出在Microsoft Visual C++ 2017 Redistributable上 首先查看日志文件 说明有更高的版本 控制面板–》卸载程序 发现比自己版本高的,卸载掉 下载Microsoft Visual C

    2024年02月12日
    浏览(52)
  • 【MFC】05.MFC六大机制:程序启动机制-笔记

    MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机制: 首先,我们创建一个单文档架构程序,我们来观察一

    2024年02月13日
    浏览(35)
  • 【MFC】05.MFC第一大机制:程序启动机制-笔记

    MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机制: 首先,我们创建一个单文档架构程序,我们来观察一

    2024年02月14日
    浏览(35)
  • MFC - 获取MainFrame,Doc,View,App等指针的方法

    在View中获得Doc指 针 在App中获得MainFrame指针 在View中获得MainFrame指针 获得View(已建立)指针 获得当前文档指针 获得状态栏与工具栏指针 获得状态栏与工具栏变量 在Mainframe获得菜单指针 在任何类中获得应用程序类 从文档类取得视图类的指针(1) 在App中获得文档模板指针 从文

    2024年02月01日
    浏览(29)
  • MFC中如何使用map获取对应key的Vlaue值

    使用map获取对应key的Vlaue值 引用#include using namespace std; //添加值 UDT_MAP_INT_CSTRING.insert(std::mapint, CString::value_type(1, _T(“a”))); UDT_MAP_INT_CSTRING.insert(std::mapint, CString::value_type(2, _T(“b”))); UDT_MAP_INT_CSTRING.insert(std::mapint, CString::value_type(3, _T(“c”))); UDT_MAP_INT_CSTRING.insert(std::mapint, CS

    2024年02月04日
    浏览(31)
  • MFC框架程序解析

    MFC(Microsoft Foundation Class,微软基础类库)是微软为了简化程序员的开发工作所开发的一套C++类的集合,是一套面向对象的函数库,以类的方式提供给用户使用。利用这些类,可以有效地帮助程序员完成Windows应用程序的开发。 即MFC是一个封装库, 该库封装了 Windows程序运行机

    2024年02月05日
    浏览(47)
  • 用MFC打开外部程序

    在MFC(Microsoft Foundation Classes)中,你可以使用 ShellExecute 函数来打开Notepad并加载指定的文件。 ShellExecute 函数是Windows API的一部分,它可以执行与操作系统相关的操作,例如打开文件、运行程序等。 以下是在MFC中使用 ShellExecute 函数打开Notepad并加载文件的示例代码: 在上述代

    2024年02月11日
    浏览(34)
  • MFC:程序的托盘显示

    关键技术,API函数 Shell_NotifyIcon ,具体查看msdn吧 https://www.cnblogs.com/htj10/p/11688347.html

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包