下载此文档

C++实现文件传输.doc


文档分类:通信/电子 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
C++实现文件传输
c++实现文件传输之一:框架结构和界面实现
在木马中文件管理的重要性,是无需质疑的,对于文件的管理,做到并不难,但做好却也不易在我们编写一个功能完整的“文件木马”
其实现效果如图所示。为了文章的完整性,=()); //将路径加入命令对像
send(server,command);
}
用于接受SERVER返回信息的线程,和服务端接受命令线程相似,这里就不再说明了,有兴趣可以看下源代码
到这里程序的流程框架就介绍完了,下面我们再看一下程序的界面设置.
界面实现
程序的主界面如上图所示,主程序是一个对话框,主要包括一个树控件m_tree和列表控件m_list分别
用于显示磁盘目录和文件,在对话框初示化时用以下代码设置树控件的属性
DWORD dwStyle = GetWindowLong(,GWL_STYLE);
dwStyle |=TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
SetWindowLong(,GWL_STYLE,dwStyle);
对于列表框控件则没有太多要求,要留意的是,如果显示图标应该把
Styles显示属性设置为ICON
VC的做出的界面,常常让人有种摔键盘的冲动。其实稍微留意一下其设置,也可以让它漂亮一些
比如上图所示的界面就是经过简单设置得到的,而没有用其它类库,有点兴趣?其设置方法为:
的Border属性为Thin
Styles "可见" 属性
Styles的"静态边"属性
这样再运行一下程序是不是感觉清新不少?
到这里程序的主要结构框架和界面实现就介绍完了,下一篇将详细介绍其各种功能的实现
c++实现文件传输之二
在上一篇中,我们以经介绍了程序的流程和框架,在本篇将详细讨论各个功能的实现主要包括









获取磁盘信息
磁盘信息可以用API GetDriveType来实现,它以路径名作为参数(如C:/)返回磁盘类型,其实例代码如下
DWORD GetDriverProc(COMMAND command,SOCKET client)
{
for(char i='A';i<='Z';i++)
{
char x[20]={i,':'};
UINT Type=GetDriveType(x);
if(Type==DRIVE_FIXED||Type==DRIVE_REMOVABLE||Type==DRIVE_CDROM)
{
/*返回处理结果...*/
}
}
return 0;
}
GetDriveType可能返回的结果如下
#define DRIVE_UNKNOWN    0 // 无效路径名
#define DRIVE_NO_ROOT_DIR   1 // 无效路经,如无法找到的卷标
#define DRIVE_REMOVABLE 2 // 可移动驱动器
#define DRIVE_FIXED        3 // 固定的驱动器
#define DRIVE_REMOTE    4 // 网络驱动器
#define DRIVE_CDROM        5 // CD-ROM
#define DRIVE_RAMDISK    6 // 随机存取(RAM)磁盘
在上面的实例代码中我们只取,硬盘,光驱和移动磁盘
获取目录信息
这里只要枚举用户指定的目录就可以了,其实例代码如下:
DWORD GetDirInfoProc(COMMAND command,SOCKET client)
{
/*command为要枚举的路径如(C:/)client为返回结果的SOCKET句柄*/
FILEINFO fi;
memset((char*)&fi,0,sizeof(fi));
strcat((char*),"*.*");//枚举所有文件
CFileFind file;
BOOL bContinue = ((char*));
while(bContinue)
{
m

C++实现文件传输 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人才艺人生
  • 文件大小1.80 MB
  • 时间2022-07-19