社区
Windows SDK/API
帖子详情
两个问题要求用API实现,不能用到BCB中的控件或都VC的类库!!!
SSTS
2001-10-14 08:15:48
(1)怎么检测是否已经连上网,,不要用查或都注册表的方法!
(2)怎么发送EMAIL(不要告诉我用FOXMAIL)
以上问题只能用API实现。。。
如果分数不够我可以再加一百分,,,,,
如果没人能答对,这个贴子只能让他烂掉!
以上问题最好能给我一个DEMO!
...全文
101
12
打赏
收藏
两个问题要求用API实现,不能用到BCB中的控件或都VC的类库!!!
(1)怎么检测是否已经连上网,,不要用查或都注册表的方法! (2)怎么发送EMAIL(不要告诉我用FOXMAIL) 以上问题只能用API实现。。。 如果分数不够我可以再加一百分,,,,, 如果没人能答对,这个贴子只能让他烂掉! 以上问题最好能给我一个DEMO!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
三杯倒
2001-10-15
打赏
举报
回复
gz
pitchstar
2001-10-15
打赏
举报
回复
发 email 可以用 socket 函数写连接过程,但要做一定的编码处理
需要处理 2 个技术问题:
1、和服务器交互,想 mailto rcpt data ....
2、邮件编码
第一个问题,如果不愿看 rfc,可以如下解决:
win2000 自带网络管理器,可以监视你收发邮件的过程,然后看看
他的过程,自己用 socket 写这个过程。
第二个问题可以这样:
在 outlook 里保存一个 mail 生成一个 .eml 文件,把这个文件用写
字板或记事本打开,仔细研究吧,其中具体内容用到 base64 编码,他的例
程到处都是,
可以去 http://gtth.vip.myrice.com/ 有个 gwebmail ,里边有发邮件
的程序
a813
2001-10-15
打赏
举报
回复
1.可以使用SOCKET ,CONNECT 一个固定ip和port,失败说明未上网
2.可见http://www.csdn.net/expert/topic/320/320151.shtm
mychome
2001-10-15
打赏
举报
回复
xx
SSTS
2001-10-15
打赏
举报
回复
你们是不是担心我不给分啊!!
放心我不会。
但如果没人能答出来,这个贴子只有烂掉啦!
SSTS
2001-10-15
打赏
举报
回复
都过了一天啦,,怎么就没人能回答呢!!
是高手都瞧不起呢,还是CSDN无高手呢。。。。。。
heavyrain1234
2001-10-14
打赏
举报
回复
attend
nzinfo
2001-10-14
打赏
举报
回复
可以先ping一下
SSTS
2001-10-14
打赏
举报
回复
这个函数不能成功我试过啦!
就算连上网也检测不到!
to :dycdyc123(微笑江湖)
不要用控件。。。。。。
检测IP的方法在局域网里行不通的。。。
这个方法以前的贴子有!!
happy243
2001-10-14
打赏
举报
回复
#include <wininet.hpp>
(1) InternetGetConnectedState
(2) ShellExecute
dycdyc123
2001-10-14
打赏
举报
回复
1:
HOSTENT *lpHostEnt=gethostbyname(HostName);
for (int i=0; lpHostEnt->h_addr_list[i]!=NULL; i++)
{
IN_ADDR *p=(IN_ADDR *)(lpHostEnt->h_addr_list[i]);
String IP=inet_ntoa(*p);
Label2->Caption=IP;
}
获得本机的IP地址,用不着API,用PowerSock控件就可以了。
AnsiString sIP = PowerSock1->LocalIP;
这个函数可以取得你机器上的所有网络设备的IP地址,
void GetNetAddress ( TStringList * IPList ) // 网络地址, 本机IP地址
{
char HostName[80];
LPHOSTENT lpHostEnt;
struct in_addr addr[16];
//本程序假设主机不是多宿主机,即最多只有
// 一块网卡和一个动态IP
for ( int I = 0; I < 16; I ++ )
{
memset ( & addr[I], 0, sizeof ( in_addr ) ) ;
//对in_addr结构清0,以利后面填写
}
if ( gethostname ( HostName, sizeof ( HostName ) ) == SOCKET_ERROR )
{
return;
}
lpHostEnt = gethostbyname ( HostName ) ; //利用得到的主机名去获得主机结构
if ( ! lpHostEnt )
{
return ;
}
for ( int I = 0; lpHostEnt->h_addr_list[I] != 0; I ++ )
//从主机地址表中得到IP地址
{
memcpy ( & addr[I], lpHostEnt->h_addr_list[I], sizeof ( in_addr ) ) ;
}
AnsiString Temp;
for ( int i=0;i<16;i++ )
{
Temp = inet_ntoa ( addr[i] ) ;
if ( Temp != "" && Temp != "0.0.0.0" )
IPList->Add(Temp);
}
}
\\-----------------------------------------
#include <WINSOCK2.H>
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TForm1::GetHostIpAddress()
{
struct hostent *thisHost;
struct in_addr in;
char MyName[80];
char *ptr,*hostname;
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested=MAKEWORD(2,0);
err=WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
return;
if(LOBYTE(wsaData.wVersion)!=2||HIBYTE(wsaData.wVersion)!=0)
{
WSACleanup();
return;
}
if(gethostname(MyName,80)==SOCKET_ERROR)
return;
if(!(thisHost=gethostbyname(MyName)))
return;
hostname=thisHost->h_name;
memset((void*)&in,sizeof(in),0);
in.s_addr=*((unsigned long *)thisHost->h_addr_list[0]);
if(!(ptr=inet_ntoa(in)))
return;
WSACleanup();
Edit1->Text=AnsiString(ptr);
Edit2->Text=AnsiString(hostname);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
GetHostIpAddress();
}
使用 NetMasters Powersock 控件读取本地IP 地址,如果是"0.0.0.0" 说明没有连接。
例子:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Powersock1->LocalIP == "0.0.0.0")
ShowMessage("not connected"); //本人机子上拔掉网线时仍是显示!
else
ShowMessage(Powersock1->LocalIP);
}
2: I don't know!
SSTS
2001-10-14
打赏
举报
回复
大家看看啊,,
怎么我每次提问,总是没人理!
如何学好
VC
和MFC
据我所知,全球使用C++的人不过30万,且多数是用
BCB
(用
控件
来写容易啊!!!???)要知道,根据MS的资料,它出的书最High class 的一类只不过卖出20万左右,(ps:I forgot bookname!!!)要想学好
VC
,先学好英文,再去 ...
如何学习
VC
!
好介绍其实语言并没有好坏之分,每种开发工具也都有它的价值,各有优缺点,更重要的是如何根据具体的任务选择合适的工具并利用这些工具来完成工作。现在在WINDOWS平台下编程,VB和DELPHI可以满足大多数的应用,而且...
如何学好
VC
和MFC(各前辈学习方法及感受整理)(二)
接上篇)
VC
进阶:1. C 语言;2. C++ ,OOP;3. Windows 运作机理,SDK编程;4. MFC
类库
,应用程序... 学
VC
或 windows 编程分三 STEP:1. 只 SDK 提供的 Function 作开发,不要Object, 你会知 How to handle Mes...
深入
VC
L 理解
BCB
的消息机制
<!--write_title("深入
VC
L 理解
BCB
的消息机制 ");//-->
C++Builder
中
编译MFC
类库
1.编译条件: _X86_;_WINDOWS;_MSC_VER=1100;_AFX_PORTABLE;_AFX_NOFORCE_LIBS;_MT;_CRT_PORTABLE;_AFX_NO_DEBUG_CRT 2.包含路径: include path 加入 $(
BCB
)\include\MFC ... $(
BCB
)\Lib\PSDK
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章