资源简介
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财务计算器
相关资源
- uiautomatorviewer二次开发+xpath
- ESP8266二次开发源码
- 海康视频监控 hik chrome 谷歌浏览器 二
- UG NX二次开发习题及源码
- 人脸识别二次开发包(SDK)
- RTX网页后台管理V2.4免费版
- QGIS-源码QT4.8.6 和VS2010 qgis
- ArcGIS二次开发编程
- CAXA图文档二次开发手册内部
- PML二次开发工具
- 进销存管理系统,适合二次开发
- SIEMENS 840D HMI 二次开发完整包
- 灰度控制卡开发包
- IP摄像头二次开发SDK开发包
- huawei 边缘计算网关二次开发指南wor
- Revit二次开发实现BIM盈利.pdf
- mini_stm32开发板原理图及PCB图源文件
- .net宿舍管理信息系统最终版完整源码
- solidworks pdm api developer二次开发
- DeDe织梦手册及数据字典
- liferay6中文开发文档开发手册、二次开
- CAACATIA二次开发入门宝典
- Autodesk Revit二次开发基础教程
- 《基于UG NX系统的二次开发》周临震的
- K3 Cloud 二次开发文档
- 清华大学的《CAD二次开发》(附动态
- usb-can labview 二次开发
- skyline TerraExplorer Por 6.6的官方二次开发
- ABB机器人二次开发-语音控制机器人上
- Solidworks2015和vs2010二次开发的环境搭建
评论
共有 条评论