关于限制拨号上网的问题?

zhangdm 2003-08-26 09:06:40
当用户通过modem拨号上网时,只能拨只定的电话号,不能拨163等上internet的isp服务的号码。
如何实现?
如果有源码另开帖给分(200)。

我现在想的方案是有一个后台程序监视,如有拨号程序运行,取出它的所拨的电话号,如果是允许的电话号,则不处理。否则kill它。
我只是能想到这些。
但如何知道哪一个进程是拨号程序,如何kill它。是用钩子来实现吗?
...全文
72 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
nonocast 2003-08-28
  • 打赏
  • 举报
回复
查了一下MSDN
你可以关注一下这个结构
The RASDIALPARAMS structure contains parameters that are used by RasDial to establish a remote access connection.

typedef struct _RASDIALPARAMS {
DWORD dwSize;
TCHAR szEntryName[RAS_MaxEntryName + 1];
TCHAR The RASDIALPARAMS structure contains parameters that are used by RasDial to establish a remote access connection.

typedef struct _RASDIALPARAMS {
DWORD dwSize;
TCHAR szEntryName[RAS_MaxEntryName + 1];
TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
TCHAR szUserName[UNLEN + 1];
TCHAR szPassword[PWLEN + 1];
TCHAR szDomain[DNLEN + 1] ;
#if (WINVER >= 0x401)
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
#endif
} RASDIALPARAMS;
[RAS_MaxPhoneNumber + 1];
TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
TCHAR szUserName[UNLEN + 1];
TCHAR szPassword[PWLEN + 1];
TCHAR szDomain[DNLEN + 1] ;
#if (WINVER >= 0x401)
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
#endif
} RASDIALPARAMS;

其中的szPhoneNumber就应该是你想要的号码吧

----------------------
May you succeed!
----------------------
nonocast 2003-08-28
  • 打赏
  • 举报
回复
关于断开连接应该不会很难,我试了下
你做一个后台程序,SetTimer
然后用RASEnumConnections()枚举所有连接,再然后用RASHangUp()将其挂断

DWORD dwConnections;
RASCONN rasconn;
DWORD dwSize ;//= rasconn.dwSize;
DWORD dwSuccess;
CString szCmd;
CString szTmp;

rasconn.dwSize = sizeof(RASCONN);
dwSize = rasconn.dwSize;
dwSuccess = RasEnumConnections(&rasconn, &dwSize, &dwConnections);

if (dwSuccess == 0)
{
if (dwConnections)
{
RasHangUp(rasconn.hrasconn);
}
}

关键在取电话号码
应该也不难
帮你试试...wait
kingzai 2003-08-28
  • 打赏
  • 举报
回复
RasGetEntryParams can get this struct .
zhangdm 2003-08-28
  • 打赏
  • 举报
回复
多谢 zzkcn()指点
我试一试。
zhangdm 2003-08-28
  • 打赏
  • 举报
回复
Thank you!
I am trying
zzkcn 2003-08-27
  • 打赏
  • 举报
回复
你可以写一个dll,输出RasDialDialog()等函数,用RasSetEntryProperties设置RASENTRY结构的szCustomDialDll的值。
按照MSDN的说法这种方法可以实现调用你自己的拨号函数,你可以在自己的函数中实现拨号限制。
不幸的是我用这种方法没有成功,指定新的dll后调用RasDialDialog函数总是没有反应。祝你能够实现成功。
zhangdm 2003-08-27
  • 打赏
  • 举报
回复
自已UP
zzkcn 2003-08-27
  • 打赏
  • 举报
回复
to:liaomu(了木)
怎么删除系统自带的拨号连接,他在某个dll中。
zhangdm 2003-08-27
  • 打赏
  • 举报
回复

我在等待
liaomu 2003-08-27
  • 打赏
  • 举报
回复
GZ。。。学习下。。。

你可以把系统带的拨号给删了。。装个还原精灵之类的不让新增加。。。
自己在写个拨号程序,写s电话。。。

呵呵。。。偶不懂随意说的。。。不要骂我。。。

帮你顶下
sunnf 2003-08-27
  • 打赏
  • 举报
回复
真的没有人能帮助我吗!?
是分少吗?
我可以另开贴给分,分数开个数。
tanyaliji 2003-08-27
  • 打赏
  • 举报
回复
udppp
zhangdm 2003-08-27
  • 打赏
  • 举报
回复
*_*
neilxp 2003-08-27
  • 打赏
  • 举报
回复
up
zhangdm 2003-08-27
  • 打赏
  • 举报
回复
*_*
zhangdm 2003-08-26
  • 打赏
  • 举报
回复
to kingzai(kingzai)
它是个共享程序.
我还是不能实现
kingzai 2003-08-26
  • 打赏
  • 举报
回复
http://www.naughter.com/rasmon.html
kingzai 2003-08-26
  • 打赏
  • 举报
回复
http://www.naughter.com/rasmon.html
sunnf 2003-08-26
  • 打赏
  • 举报
回复
关注

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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