怎么在vc++目录包含文件中添加目录

怎么在vc++目录包含文件中添加目录,第1张

增加一个目录:

C:\Boost\include\boost-1_43\到默认头Include 路径,则可以修改文件如下:

<?xml version="1.0" encoding="utf-8"?>

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>

<ExecutablePath>$(ExecutablePath)</ExecutablePath>

<IncludePath>C:\Boost\include\boost-1_43\$(IncludePath)</IncludePath>

<ReferencePath>$(ReferencePath)</ReferencePath>

<LibraryPath>$(LibraryPath)</LibraryPath>

<SourcePath>$(SourcePath)</SourcePath>

<ExcludePath>$(ExcludePath)</ExcludePath>

</PropertyGroup>

</Project>

转载,仅供参考。

你点击左侧工作空间到fileview选项,在sourcefile上右键点击-》添加文件到目录,这样你就可以将你写好的,cpp文件加入到现在的工作目录中,然后将该文件包含一下,再运行你现在的工程,就可以运行自己写的普通.cpp文件了

1、工程A要释放的程序是一个简单的MessageBox,源码如下:

view plaincopy to clipboardprint?

#include <windows.h>

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )

{

MessageBox(NULL,"资源文件释放实例!","测试",MB_OK)

return 0

}

#include <windows.h>

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )

{

MessageBox(NULL,"资源文件释放实例!","测试",MB_OK)

return 0

}

编译生成MsgBox.exe,复制到工程B目录。

2、工程B为基于MFC对话框程序,先插入已经存EXE(或DLL)文件到VC资源文件中,如下图:

A、切换到资源视图,在上面单机右键:

B、单击"Import...",找到刚刚工程A编译生成的MsgBox.exe文件:

C、设置导入的资源类型名,这个名称将是该函数的第三个参数,我们取资源类型名为EXE:

D、此时,资源视图中多了一个类型为:EXE,资源ID为:IDR_EXE1,如下图:

E、增加一个按钮,添加响应事件,添加成员函数BOOL ReleaseRes(CString strFileName,WORD wResID,CString strFileType),具体代码如下:

view plaincopy to clipboardprint?

HCURSOR CTestDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon

}

void CTestDlg::OnBtnRelease()

{

// TODO: Add your control notification handler code here

if(ReleaseRes("Test.exe",(WORD)IDR_EXE1,"EXE"))

MessageBox("释放文件成功!","提示",MB_OK)

else

MessageBox("释放文件失败!","提示",MB_OK)

}

/************************************************************************/

/* 函数说明:释放资源中某类型的文件

/* 参数:新文件名、资源ID、资源类型

/* 返 回 值:成功返回TRUE,否则返回FALSE

/* By:Koma 2009.07.24 23:30

/************************************************************************/

BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)

{

// 资源大小

DWORD dwWrite=0

// 创建文件

HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,

CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL)

if ( hFile == INVALID_HANDLE_VALUE )

{

return FALSE

}

// 查找资源文件中、加载资源到内存、得到资源大小

HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType)

HGLOBAL hG = LoadResource(NULL, hrsc)

DWORD dwSize = SizeofResource( NULL, hrsc)

// 写入文件

WriteFile(hFile,hG,dwSize,&dwWrite,NULL)

CloseHandle( hFile )

return TRUE

}

HCURSOR CTestDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon

}

void CTestDlg::OnBtnRelease()

{

// TODO: Add your control notification handler code here

if(ReleaseRes("Test.exe",(WORD)IDR_EXE1,"EXE"))

MessageBox("释放文件成功!","提示",MB_OK)

else

MessageBox("释放文件失败!","提示",MB_OK)

}

/************************************************************************/

/* 函数说明:释放资源中某类型的文件

/* 参数:新文件名、资源ID、资源类型

/* 返 回 值:成功返回TRUE,否则返回FALSE

/* By:Koma 2009.07.24 23:30

/************************************************************************/

BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)

{

// 资源大小

DWORD dwWrite=0

// 创建文件

HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,

CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL)

if ( hFile == INVALID_HANDLE_VALUE )

{

return FALSE

}

// 查找资源文件中、加载资源到内存、得到资源大小

HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType)

HGLOBAL hG = LoadResource(NULL, hrsc)

DWORD dwSize = SizeofResource( NULL, hrsc)

// 写入文件

WriteFile(hFile,hG,dwSize,&dwWrite,NULL)

CloseHandle( hFile )

return TRUE

}

3、该函数是可重用类,本程序代码在VC6 + WIN SP3测试通过


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

原文地址: http://outofmemory.cn/bake/11360675.html

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

发表评论

登录后才能评论

评论列表(0条)

保存