vc++如何取程序的运行目录?

vc++如何取程序的运行目录?,第1张

GetCurrentDirectory是取得当前工作路径,如果程序中改变了这个路径粗核比如用CFileDialog打开了一个文件,GetCurrentDirectory得到的结果会发生变化。

一般来说,取得亮握程序运行目录的方法是用GetModuleFileName来获取当前Module的完整路径,当其第一个参数hModule置NULL的时候得到当前APP的绝对路径,然后去掉最后一个"\"以后的部分即敬凳庆文件名部分,就得到了程序运行目录。

大体上可以这样写(仅供参考):

char buffer[MAX_PATH+1]

::GetModuleFileName (NULL,buffer,MAX_PATH)

for(int i=MAX_PATH-1i>=0i--)

{

if(*(buffer+i)!='\\')

{

*(buffer+i)=0

}else{

break

}

}

vc++工程文件默认目录:

C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin

或者,安装目录下:

D:\Program Files (x86)\Microsoft Visual Studio\MyProject

拆散Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。

它不但具有程序框架自动生成、唯激灵活方便的类管理、代码编写和界面设计集成交互 *** 作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接旅山氏口、OLE2,WinSock网络、3D控制界面。

直接在系统目录下掘渗搜索“Microsoft.VC80*” 就可以找到了。

64位一般不带的,32位一般带的

有许多的软件需要这个运行库,在64位WIN7上安装32位的运行库很容易只要在官方下载个vcredist_x86.exe安装就行了。但是要安装这个库判帆脊的64位版本就不太容易了,当从微软网上下了Vcredist_x64.exe安装后就会发现安装是不完全的,会在 *** 作系统根目录下安装出来个Msdia80.dll文件,在微软的知识库里已经提出了这个的解决方法,http://support.microsoft.com/kb/927665/zh-cn,里面的内容是“ 您有一个计算机运行 64 位 *** 作系统。 此计算轿源机上安装 Microsoft Visual C++ 2005年可再发行组件包通过 Vcredist_x64.exe 文件或 Vcredist_ia64.exe 文件。 在这样做 Msdia80.dll 文件在启动驱动器的根文件夹中安装了。

请注意 Drive 的 Msdia80.dll 文件的正确路径是: \Program Files\Common Files\Microsoft Shared\VC。

然后解决方法有2条,第一是后一个版本会带有这个修复,问题是我尝试了C++2005SP1运行包依然是如此。那么第2个方法“是要解决此问题,请将 Msdia80.dll 文件移动到 Drive: \Program Files\Common Files\Microsoft Shared\VC 文件夹。 然后,在注册 Msdia80.dll 文件命令提示符处键入以下命令:

regsvr32 driver: \Program Files\Common Files\Microsoft Shared\VC\msdia80.dll

不要在运行框里输入

regsvr32 driver:\Program Files\Common Files\Microsoft Shared\VC\msdia80.dll

这个,没用,regsvr32命令对后面的路径是不识别的。

用DOS,定位到C:\Program Files\Common Files\Microsoft Shared\VC\

然后输入regsvr32 msdia80.dll

就可以了。


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

原文地址: http://outofmemory.cn/yw/12339385.html

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

发表评论

登录后才能评论

评论列表(0条)

保存