哪位高手知道如何编制自动拨号的程序? 建议上 http://www.wellcity.com/Sourcecode/Internet/page1.html找找 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我给你贴一段代码:用TAPI写的,我就不注释了.其中有些地方我还没写完,因为我还没有用到它的地方,这仅是为了学习试写的一段,不过可以拨号了.//---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include <tapi.h>#include <stdio.h>#include <stdlib.h>#include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//-------HLINEAPP m_htapi;DWORD m_dwNumLines;DWORD apiver;HLINE m_hline;HCALL m_hcall;HANDLE m_hmodem;VOID FAR PASCAL lineCallbackFunc( DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3 ) { }//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){ LONG lResult; lResult=::lineInitialize(&m_htapi, HInstance, lineCallbackFunc, "TAPITest", &m_dwNumLines); if(lResult) { ShowMessage(lResult); return; } Edit1->Text=IntToStr(m_dwNumLines);}//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender){ LINEEXTENSIONID extid; char buf[256]; LONG lResult; if(m_htapi) { for(int line=0;line<m_dwNumLines;line++) { lResult=lineNegotiateAPIVersion(m_htapi, line, 0x00010003,0x00020002, &apiver, &extid); if(lResult) { ShowMessage(lResult); continue; } sprintf(buf,"ver:%d extid:%d",apiver,extid); ShowMessage(buf); } }}//---------------------------------------------------------------------------void __fastcall TForm1::Button4Click(TObject *Sender){ LONG lResult; lResult=::lineOpen(m_htapi, 1, &m_hline, apiver, 0, (DWORD)this, LINECALLPRIVILEGE_NONE, LINEMEDIAMODE_INTERACTIVEVOICE, 0); if(lResult) { ShowMessage(lResult); return; } Edit3->Text=lResult;}//---------------------------------------------------------------------------void __fastcall TForm1::Button5Click(TObject *Sender){ LPLINETRANSLATEOUTPUT lpLTO; char szDialStr[256]={"8122151"}; strcpy(szDialStr,Edit6->Text.c_str()); LONG lResult; LINECALLPARAMS lcp; memset(&lcp,0,sizeof(LINECALLPARAMS)); lcp.dwTotalSize=sizeof(LINECALLPARAMS); lcp.dwBearerMode=LINEBEARERMODE_VOICE; lcp.dwMediaMode=LINEMEDIAMODE_INTERACTIVEVOICE; lResult=::lineMakeCall(m_hline, &m_hcall, szDialStr, 0, &lcp); if(lResult<0) { ShowMessage(lResult); return; } if(lResult>0) Edit4->Text=IntToStr(lResult);}//---------------------------------------------------------------------------void __fastcall TForm1::Button7Click(TObject *Sender){ LPVARSTRING lpVarString=NULL; size_t dwNeeded=sizeof(VARSTRING); LONG lResult=0; for(int i=0;i<2;i++) { lpVarString=(LPVARSTRING)calloc(dwNeeded,1); if(!lpVarString) goto error; lpVarString->dwTotalSize=dwNeeded; lResult=::lineGetID(m_hline,0,NULL, LINECALLSELECT_LINE, lpVarString,"mci/midi"); if(lResult) { ShowMessage(lResult); goto error; } if(lpVarString->dwNeededSize<=lpVarString->dwTotalSize) break; dwNeeded=lpVarString->dwNeededSize; free(lpVarString); lpVarString=NULL; } m_hmodem=*(LPHANDLE)(lpVarString+lpVarString->dwStringOffset); Edit5->Text=int(m_hmodem); error: if(lpVarString) free(lpVarString); return;}//---------------------------------------------------------------------------void __fastcall TForm1::Button6Click(TObject *Sender){ ::lineDrop(m_hcall,NULL,0); ::lineShutdown(m_htapi); }//--------------------------------------------------------------------------- 谁推荐下网盘吧,收费的最好 大家进来帮忙一下 程序在XP系统中只能以兼容256色模式下运行问题 如何单个实例运行 怎样让scrollview的水平滚动条居右端? 求类似VC.NET的语法高亮,和列出函数信息的编辑器代码? 如何把CSTRING转换成LPOLESTR及反过来转换? 保存为文本文件的基本问题? ++++++++Win32编程时怎样得到对话框(dialog)中某个控件的句柄++++++++ 一个vpacket.vxd读大量数据的问题 请帮我解码JPEG 如何添加新的菜单
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <tapi.h>
#include <stdio.h>
#include <stdlib.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//-------
HLINEAPP m_htapi;
DWORD m_dwNumLines;
DWORD apiver;
HLINE m_hline;
HCALL m_hcall;
HANDLE m_hmodem;VOID FAR PASCAL lineCallbackFunc(
DWORD hDevice,
DWORD dwMsg,
DWORD dwCallbackInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3
)
{
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender)
{
LONG lResult;
lResult=::lineInitialize(&m_htapi,
HInstance,
lineCallbackFunc,
"TAPITest",
&m_dwNumLines);
if(lResult)
{
ShowMessage(lResult);
return;
}
Edit1->Text=IntToStr(m_dwNumLines);
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender)
{
LINEEXTENSIONID extid; char buf[256];
LONG lResult;
if(m_htapi)
{
for(int line=0;line<m_dwNumLines;line++)
{
lResult=lineNegotiateAPIVersion(m_htapi,
line,
0x00010003,0x00020002,
&apiver,
&extid);
if(lResult)
{
ShowMessage(lResult);
continue;
}
sprintf(buf,"ver:%d extid:%d",apiver,extid);
ShowMessage(buf);
} }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
LONG lResult;
lResult=::lineOpen(m_htapi,
1,
&m_hline,
apiver,
0,
(DWORD)this,
LINECALLPRIVILEGE_NONE,
LINEMEDIAMODE_INTERACTIVEVOICE,
0);
if(lResult)
{
ShowMessage(lResult);
return;
}
Edit3->Text=lResult;
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button5Click(TObject *Sender)
{
LPLINETRANSLATEOUTPUT lpLTO;
char szDialStr[256]={"8122151"};
strcpy(szDialStr,Edit6->Text.c_str());
LONG lResult;
LINECALLPARAMS lcp;
memset(&lcp,0,sizeof(LINECALLPARAMS));
lcp.dwTotalSize=sizeof(LINECALLPARAMS);
lcp.dwBearerMode=LINEBEARERMODE_VOICE;
lcp.dwMediaMode=LINEMEDIAMODE_INTERACTIVEVOICE;
lResult=::lineMakeCall(m_hline,
&m_hcall,
szDialStr,
0,
&lcp);
if(lResult<0)
{
ShowMessage(lResult);
return;
}
if(lResult>0)
Edit4->Text=IntToStr(lResult);
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button7Click(TObject *Sender)
{
LPVARSTRING lpVarString=NULL;
size_t dwNeeded=sizeof(VARSTRING);
LONG lResult=0;
for(int i=0;i<2;i++)
{
lpVarString=(LPVARSTRING)calloc(dwNeeded,1);
if(!lpVarString)
goto error;
lpVarString->dwTotalSize=dwNeeded;
lResult=::lineGetID(m_hline,0,NULL,
LINECALLSELECT_LINE,
lpVarString,"mci/midi");
if(lResult)
{
ShowMessage(lResult);
goto error;
}
if(lpVarString->dwNeededSize<=lpVarString->dwTotalSize)
break;
dwNeeded=lpVarString->dwNeededSize;
free(lpVarString);
lpVarString=NULL;
}
m_hmodem=*(LPHANDLE)(lpVarString+lpVarString->dwStringOffset);
Edit5->Text=int(m_hmodem);
error:
if(lpVarString)
free(lpVarString);
return;
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button6Click(TObject *Sender)
{
::lineDrop(m_hcall,NULL,0);
::lineShutdown(m_htapi);
}
//---------------------------------------------------------------------------