高手请进!

crliu 2000-03-27 11:30:00
本人写一个FTP程序,要求如下:
1.size为50k左右;
2.能在win95/98/NT,及最近发行的win2000的平台上运行;
3.只编译一次;
问题:
是否一定要COM--ATL编写?若是,则如何把自己的代码加入并提供接口(将其作成一个控件)?我在MFC下已实现它的功能,改成COM--ATL则MFC的类将不能是,怎办?
...全文
232 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
crliu 2000-03-29
  • 打赏
  • 举报
回复
softdoctor的API使用是正确的但没有完全解答我的问题。
softdoctor 2000-03-29
  • 打赏
  • 举报
回复
跟在MFC中一样
使用Wininet API
#include "Wininet.h"//wininet.lib

// 简单的例子
CLoginWnd logwnd;//自己定义的登录对话框
logwnd.m_csServerName = strServerName;
HINTERNET hInternet=NULL;
if(hInternet = ::InternetOpen("RsFrm",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,NULL,NULL))
{
HINTERNET hInnetConnect = NULL;
// 先匿名用默认端口登录
// 如不能登录,询问用户名,口令,还可换端口
while(!(hInnetConnect = InternetConnect(
hInternet,strServerName,
nPort,logwnd.m_csUser,logwnd.m_csPWD,
INTERNET_SERVICE_FTP,
NULL,0)))
{
if(logwnd.DoModal()!=IDOK)
{
break;
}
}
if(hInnetConnect)
{
HINTERNET hFtpFile=NULL;
if(hFtpFile = ::FtpOpenFile (hInnetConnect,strObject,GENERIC_READ,FTP_TRANSFER_TYPE_BINARY,0))
{
DWORD dwSizeInput=0;
DWORD dwSizeBuffer;
DWORD dwSizeReaded=0;
InternetQueryDataAvailable(hFtpFile,&dwSizeBuffer,0,0);
while(dwSizeBuffer)
{
dwSizeInput+=dwSizeBuffer;
if(pRetByte==NULL)
{
pRetByte = (BYTE*)malloc(dwSizeInput+1);
}
else
{
pRetByte = (BYTE*)realloc(pRetByte,dwSizeInput+1);
}
InternetReadFile(hFtpFile,
pRetByte+dwSizeInput-dwSizeBuffer,
dwSizeBuffer,&dwSizeReaded);
InternetQueryDataAvailable(hFtpFile,&dwSizeBuffer,0,0);
}
dwDataSize = dwSizeInput;
InternetCloseHandle(hFtpFile);
}
InternetCloseHandle(hInnetConnect);
}
InternetCloseHandle(hInternet);
}
crliu 2000-03-28
  • 打赏
  • 举报
回复
谁给出一个具体方案给他300分!
「已注销」 2000-03-27
  • 打赏
  • 举报
回复
选者静态连接如何?
crliu 2000-03-27
  • 打赏
  • 举报
回复
但是编译的dll带有MFC42.DLL,MSVCRT.DLL,我不想用它们谢谢 zhongshan99
「已注销」 2000-03-27
  • 打赏
  • 举报
回复
ATL也支持MFC.
crliu 2000-03-27
  • 打赏
  • 举报
回复
softdoctor:作为一名新手,如何将API写在atl中?
softdoctor 2000-03-27
  • 打赏
  • 举报
回复
使用Atl写接口,API写功能,size会很小的
crliu 2000-03-27
  • 打赏
  • 举报
回复
那将失去使用COM的优点!
「已注销」 2000-03-27
  • 打赏
  • 举报
回复
那只能用SDK来实现MFC的功能了.
crliu 2000-03-27
  • 打赏
  • 举报
回复
size将会变的很大!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧