资源简介
caxa 二次开发 查找目录下的所有文件包括子目录
并自动生成批处理修改文件名称。次程序可用于电子图版提高版本,或自己修改做他用

代码片段和文件信息
// BrowseDirDialog.cpp: implementation of the CBrowseDirDialog class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “BrowseDirDialog.h“
#include “shlobj.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define BIF_NEWDIALOGstyle 0x0040
#define BIF_RETURNONLYFSDIRS 0x0001
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//SHBrowseForFolder控件在初始化或选择改变后的回调函数
static int __stdcall BrowseCtrlCallback(HWND hwnd UINT uMsg LPARAM lParam LPARAM lpData)
{
CBrowseDirDialog* pBrowseDirDialogObj = (CBrowseDirDialog*)lpData;
if (uMsg == BFFM_INITIALIZED
&& !pBrowseDirDialogObj->m_SelDir.IsEmpty())
{
::SendMessage(hwndBFFM_SETSELECTIONTRUE(LPARAM)(LPCTSTR)(pBrowseDirDialogObj->m_SelDir));
}
else // uMsg == BFFM_SELCHANGED
{
TCHAR szDir[MAX_PATH];
if (SHGetPathFromIDList((LPITEMIDLIST) lParam szDir))
{
SendMessage(hwndBFFM_SETSTATUSTEXT0(LPARAM)szDir);
}
}
return 0;
}
//构造函数
CBrowseDirDialog::CBrowseDirDialog(CString PromptMsg CString DefaultDir=““)
{
//m_Path; //存放返回的路径信息
m_InitDir=““; //初始显示的路径名默认为桌面
m_SelDir=DefaultDir; //打开对话框后默认选中的目录名缺省为根目录
m_title=PromptMsg; //设置对话框中浏览信息的标题默认为“请选择目录“
}
//析构函数
CBrowseDirDialog::~CBrowseDirDialog()
{
}
int CBrowseDirDialog::DoBrowse()
{
LPMALLOC pMalloc;
if (SHGetMalloc (&pMalloc)!= NOERROR)
{
return 0;
}
BROWSEINFO bInfo;
LPITEMIDLIST pidl;
ZeroMemory ( (PVOID) &bInfosizeof (BROWSEINFO));
if (!m_InitDir.IsEmpty ())
{
OLECHAR olePath[MAX_PATH];
ULONG chEaten;
ULONG dwAttributes;
HRESULT hr;
LPSHELLFOLDER pDesktopFolder;
if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
{
MultiByteToWideChar(CP_ACPMB_PRECOMPOSED m_InitDir.GetBuffer(MAX_PATH) -1
olePath MAX_PATH);
m_InitDir.ReleaseBuffer (-1);
//转换路径为ITEMLIST
hr = pDesktopFolder->ParseDisplayName(NULLNULLolePath&chEaten&pidl
&dwAttributes);
if (FAILED(hr))
{
pMalloc ->Free (pidl);
pMalloc ->Release ();
return 0;
}
bInfo.pidlRoot = pidl;
}
}
bInfo.hwndOwner = NULL;
bInfo.pszDisplayName = m_Path.GetBuffer (MAX_PATH);
bInfo.lpsztitle = (m_title.IsEmpty()) ? “请选择目录“:m_title;
bInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGstyle|BIF_RETURNONLYFSDIRS;
bInfo.lpfn = BrowseCtrlCallback; //回调函数地址
bInfo.lParam = (LPARAM)this;
//CoInitialize(NULL);
//OleInitialize(NULL);
if ((pidl = ::SHBrowseForFolder(&bInfo)) == NULL)
{
return 0;
}
m_Path.ReleaseBuffer();
m_ImageIndex = bInfo.iImage;
if (::SHGetPathFromIDList(pidlm_Path.GetBuffer(MAX_PATH)) == FALSE)
{
pMalloc ->Free(pidl);
pMalloc ->Release();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3219 2008-12-09 20:15 savetoEba\BrowseDirDialog.cpp
文件 898 2003-11-01 21:17 savetoEba\BrowseDirDialog.h
文件 4211712 2008-12-15 23:13 savetoEba\Debug\EbaSample.bsc
文件 131128 2008-12-15 23:13 savetoEba\Debug\EbaSample.eba
目录 0 2008-12-15 23:13 savetoEba\Debug
文件 633 2008-12-05 13:11 savetoEba\Drawline.cpp
文件 1885 2008-11-28 20:50 savetoEba\EbaSample.4.1.resharper.user
文件 25796 2008-12-14 12:39 savetoEba\EbaSample.aps
文件 1502 2008-12-15 23:13 savetoEba\EbaSample.clw
文件 2018 2008-12-03 19:28 savetoEba\EbaSample.cpp
文件 257 2001-01-04 15:55 savetoEba\EbaSample.def
文件 4701 2008-12-13 19:45 savetoEba\EbaSample.dsp
文件 541 2001-01-04 15:55 savetoEba\EbaSample.dsw
文件 1327 2008-12-03 23:44 savetoEba\EbaSample.h
文件 181248 2008-12-15 23:13 savetoEba\EbaSample.ncb
文件 72704 2008-12-15 23:13 savetoEba\EbaSample.opt
文件 2299 2008-12-15 23:13 savetoEba\EbaSample.plg
文件 16476 2008-12-13 20:07 savetoEba\EbaSample.rc
文件 883 2008-11-28 20:33 savetoEba\EbaSample.sln
..A..H. 17920 2008-11-28 20:50 savetoEba\EbaSample.suo
文件 8365 2008-11-28 20:49 savetoEba\EbaSample.vcproj
文件 1401 2008-11-28 20:50 savetoEba\EbaSample.vcproj.PC-200811251050.haha.user
文件 233 2008-11-28 20:52 savetoEba\FuncDef.h
文件 14367 2008-12-14 12:40 savetoEba\jieall.cpp
文件 1300 2008-12-13 19:56 savetoEba\jieall.h
文件 1002 2008-11-28 13:10 savetoEba\mainpage.cpp
文件 1240 2008-11-28 13:10 savetoEba\mainpage.h
文件 2603 2001-01-04 15:55 savetoEba\ReadMe.txt
文件 8822 2001-01-04 15:55 savetoEba\Res\bitmap1.bmp
文件 10186 2001-01-04 15:55 savetoEba\Res\bitmap10.bmp
............此处省略48个文件信息
- 上一篇:PLS—偏最小二乘工具箱工具箱
- 下一篇:AFP/CFP财务计算器
相关资源
- 地图浏览(ArcEngine)
-
AutoCAD ob
jectARX二次开发实例-状态栏 - 在delphi7下进行autocad二次开发的一个简
- caxa实体设计2019破解补丁
- 金蝶ERP二次开发技术手册
- 海康sdk说明书 二次开发参考
- AutoCAD二次开发在直齿圆柱齿轮参数化
- 用友二次开发资料含
- Revit二次开发源码大全之二
- 光阵通用高拍仪控件
- 精伦IDR210 IDR200 2016年最新4.1通用二次
- 2018revit二次开发论文参考
- lisp源代码 ***工具箱代码 cad二次开发
- 精伦身份证阅读器通用二次开发SDK
- 武汉精伦身份证阅读器的二次开发包
- LED显示屏二次开发接口的设计方案
- AUTOCAD二次开发零件自动拆图自动标注
- 海康相机SDK二次开发与Halcon混合编程
- 海康相机SDK二次开发与Qt混合编程代码
- 1 AutoCAD .NET开发指南2012版》.rar
- catia二次开发论文
- HIKVISION工业相机的SDK二次开发的QT
- OpenDwg开发文档
- QGIS2.8.9二次开发包及其桌面程序
- ArcEgine开发实战资料
- 西门子数控系统二次开发
- openmeetings-5.0.0-M1二次开发参考文档.
- AutoCAD图标大全[二次开发必备]
- 永中Office二次开发API文档2019版.rar
- Arcgis engine二次开发小系统
评论
共有 条评论