vc6.0中的mfc程序,判断当前exe程序所在的文件夹内,是不是有data这个文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc6.0中的mfc程序,判断当前exe程序所在的文件夹内,是不是有data这个文件夹相关的知识,希望对你有一定的参考价值。

vc6.0中的mfc程序,判断当前exe程序所在的文件夹内,是否有data这个文件夹,如果没有则创建。求大神代码,要编译可以通过的。附上exe所在截图

    CString path;
TCHAR temp[100]='\\0';
GetModuleFileName(NULL,temp,100);
path=temp;
path=path.Left(path.ReverseFind('\\\\'));
path=path+"\\\\data";

WIN32_FIND_DATA fd;
HANDLE h=FindFirstFile(path,&fd);
if((h!=INVALID_HANDLE_VALUE)&&(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))

MessageBox("目录存在");

else

MessageBox("目录不存在! 将创建!");
SECURITY_ATTRIBUTES attrib;
attrib.bInheritHandle=FALSE;
attrib.lpSecurityDescriptor=NULL;
attrib.nLength=sizeof(SECURITY_ATTRIBUTES);
::CreateDirectory(path,&attrib);

参考技术A 不是用Cfile类来玩吗追问

cfile不是创建文件嘛。。我要文件夹

升级后的 MFC 应用程序看起来仍然很旧

【中文标题】升级后的 MFC 应用程序看起来仍然很旧【英文标题】:Upgraded MFC application still looks old 【发布时间】:2015-09-22 23:44:15 【问题描述】:

我有一个用 VC6 编写的 MFC 应用程序。我已经将它升级到 VS2015 并且它可以构建和运行。该应用程序是一个主 exe,其中包含许多 DLL,其中包含对话框。

但是,该应用程序仍然看起来就像是用 VC6 构建的。所有的 GUI 组件都没有 Windows 7 的外观和感觉,它们看起来仍然是老式风格。

如何让我现有的应用程序看起来更现代?

【问题讨论】:

【参考方案1】:

您至少应该将此行添加到您的项目中,例如将其添加到stdafx.h

#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

或者将以下内容添加到您的清单文件中:

<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="*"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>

另见Enabling Visual Styles

所有者绘制控件变得更加复杂。请参阅此参考: Using Visual Styles with Custom and Owner-Drawn Controls

对于 ListView 和 TreeView 控件,您可以调用此函数以获得更现代的外观(尽管它在 Windows 10 中没有任何区别)

SetWindowTheme(m_ListView.m_hWnd, L"Explorer", NULL);
SetWindowTheme(m_TreeView.m_hWnd, L"Explorer", NULL);

* #pragma comment 是特定于 Visual Studio 的。对于其他编译器,您需要修改清单文件

【讨论】:

【参考方案2】:

还要确保您的链接器设置 ALLOWISOLATION 设置为“是”,否则甚至不考虑清单。

【讨论】:

以上是关于vc6.0中的mfc程序,判断当前exe程序所在的文件夹内,是不是有data这个文件夹的主要内容,如果未能解决你的问题,请参考以下文章

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

在VC6.0做的MFC程序,如何在BS中用浏览器打开

vc6.0 mfc窗口问题

如何用vc6.0 来做图像处理?是用mfc工程吗,然后导入图像么? 如何去掉图像的背景,然后反转

VC6.0的程序结束后进程不自动结束,如何解决?