基本信息
源码名称:.net 实现adsl拨号功能 可拨号以及断开网络 完整实例下载
源码大小:0.02M
文件格式:.rar
开发语言:C#
更新时间:2013-08-08
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
vista 和win xp 下 已测试通过
vista 和win xp 下 已测试通过
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.IO; using System.Text.RegularExpressions; using System.Diagnostics; using System.Threading; using System.Runtime; using System.Runtime.InteropServices; namespace RefreshIP { public partial class Dailer : Form { public Dailer() { InitializeComponent(); } private static Mutex mutex=new Mutex(); private Process dailer = new Process(); private void Form1_Load(object sender, EventArgs e) { this.Visible = true; } #region Functions int Desc; //Creating the extern function... [DllImport("wininet.dll")] private extern static bool InternetGetConnectedState(out int Description, int ReservedValue); //Creating a function that uses the API function... //if out parameter returns 18 then fail,if 81 then success public void IsConnectedToInternet() { InternetGetConnectedState(out Desc, 0); } private void StopDailer() { //Process dailer = new Process(); //dailer.StartInfo.FileName = "close.bat"; //dailer.Start(); //dailer.Close(); while(Desc == 81) { lock (dailer) { if (!IsAlive("rundll32")) { mutex.WaitOne(); dailer.StartInfo.FileName = "rundll32.exe"; dailer.StartInfo.Arguments = "iedkcs32.dll CloseRASConnections"; dailer.Start(); //Thread.Sleep(1000); mutex.ReleaseMutex(); } //dailer.WaitForExit(1000); //dailer.Close(); } IsConnectedToInternet(); } dailer.Close(); } private void StartDailer() { //Process dailer = new Process(); //dailer.StartInfo.FileName = "connect.bat"; //dailer.Start(); //dailer.Close(); while(Desc != 81) { lock (dailer) { if (!IsAlive("rasdial")) { mutex.WaitOne(); dailer.StartInfo.FileName = "rasdial.exe"; dailer.StartInfo.Arguments = txtDail.Text.Trim() " " txtName.Text.Trim() " " txtPWD.Text.Trim(); dailer.Start(); mutex.ReleaseMutex(); } //dailer.WaitForExit(1000); //dailer.Close(); //Thread.Sleep(1000); } IsConnectedToInternet(); } dailer.Close(); } private bool IsAlive(string name) { Process[] ps = Process.GetProcessesByName(name); if (ps.Length > 0) { return true; } else { return false; } } private bool ValidateInput() { if (string.IsNullOrEmpty(txtDail.Text.Trim())) { MessageBox.Show("请输入宽带拨号名称!"); return false; } if (string.IsNullOrEmpty(txtName.Text.Trim())) { MessageBox.Show("请输入宽带拨号的用户名!"); return false; } if (string.IsNullOrEmpty(txtPWD.Text.Trim())) { MessageBox.Show("请输入宽带拨号的密码!"); return false; } return true; } #endregion private void btnStart_Click(object sender, EventArgs e) { if (ValidateInput()) { this.Visible = false; this.notifyIcon1.Icon = new Icon("open.ico"); IsConnectedToInternet(); this.StartDailer(); } } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void button2_Click(object sender, EventArgs e) { IsConnectedToInternet(); StopDailer(); this.notifyIcon1.Icon = new Icon("close.ico"); MessageBox.Show("程序已经暂停!"); } private void btnMini_Click(object sender, EventArgs e) { this.Visible = false; } private void 设置ToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = true; } private void notifyIcon1_DoubleClick(object sender, EventArgs e) { this.Visible = !this.Visible; } private void btnOK_Click(object sender, EventArgs e) { if (ValidateInput()) { this.Visible = false; this.notifyIcon1.Icon = new Icon("open.ico"); IsConnectedToInternet(); this.StartDailer(); } } } }