用程序实现自动拨号

linux下 ppp 4G模块拨号上网与解析 linux下通过ppp协议完成EC20 4G模块上网拨号的过程与详解 阅读详情

用程序实现自动拨号

     
             SunHai

   开发工具:Microsoft Visual Studio .NET 2003
   操作系统:Windows XP

 

  在编写网络程序时很可能用到自动拨号。比如,邮件群发软件用自动断线和拨号实现本机IP地址的更换。
  要实现自动拨号,分两步:
  从注册表读取本机拨号链接名称;
  自动拨号。  

           调用API函数从注册表读取本机拨号链接名

  以前,我调用API函数从注册表中读取本机拨号链接名称。
  在Module中用如下代码:

Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Integer, ByVal   lpSubKey As String, ByRef phkResult As Integer) As Integer
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Integer) As Integer
Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Integer, ByVal   dwIndex As Integer, ByVal lpName As String, ByVal cbName As Integer) As Integer
  Const HKEY_CURRENT_USER As Integer = &H80000001
  Const ERROR_NO_MORE_ITEMS As Short = 259
  Const ERROR_SUCCESS As Short = 0

  Dim hKey As Integer
  Dim i As Integer
  Dim astr As String = New String("", 256)
  If RegOpenKey(HKEY_CURRENT_USER, "RemoteAccess/Profile", hKey) = ERROR_SUCCESS Then
    While RegEnumKey(hKey, i, astr, 256) = ERROR_SUCCESS
      MsgBox(astr)  '链接名称
      i += 1
    End While
    RegCloseKey(hKey)
  End If


   


                 用RegistryKey 类读取链接名

     RegistryKey 类表示 Windows 注册表中的项级节点。此类是注册表封装。

  本文主要用到:

  RegistryKey.OpenSubKey 方法:用指定的写访问权限检索指定的子项。

  以只读方式检索子项。

  [Visual Basic] Overloads Public Function OpenSubKey(String) As RegistryKey


  RegistryKey.GetSubKeyNames 方法: 检索包含所有子项名称的字符串数组。

  Public Function GetSubKeyNames() As String ()

  用RegistryKey读取链接名可以说是非常简单:

Dim rk As RegistryKey = _
Registry.CurrentUser.OpenSubKey("RemoteAccess/Profile", True)
' Get the data from a specified item in the key.
Dim s As String() = rk.GetSubKeyNames()

For num As Integer = 0 To s.Length - 1
  MsgBox(s.GetValue(num))           '这就是链接名
Next

  

                用Shell实现自动拨号

  
读取链接名后,自动拨号就非常简单了。 
  
打开“控制面板”,“网络连接”,连接“属性”,“选项”,去掉“提示名称、密码和证书等(P)”前面的对勾。

shell("rasphone.exe -d" & linksName, AppWinStyle.Hide, True, -1)

  启动“命令提示符”,键入 rasphone,回车,就弹出“拨号网络对话框”。
  如果键入 rasphone -h,回车,弹出“拨号网络命令行”,列出rasphone的用法,比如,
   rasphone -d 表示弹出弹号项目对话框。
  rasphone -lx 在拨号快捷方式上执行命令'x'    

  Shell函数说明:
  AppWinStyle.Hide是sheell的参数,表示隐藏窗口并将焦点传到该窗口。
  True表示等待拨号完成。
   -1表示Shell直到程序完成才返回。


  也可以这样:

shell("rasdial.exe " & linksName, AppWinStyle.Hide, True, -1)

  关于各种命令参数,在OS的“帮助和支持”搜索“命令行”即可查到有关说明。命令行结合Shell函数可实现极多功能,你可试一试。

  Shell 函数使用说明:

Public Function Shell ( _ ByVal Pathname As String, _
   Optional ByVal Style As AppWinStyle = AppWinStyle.MinimizedFocus, _
   Optional ByVal Wait As Boolean = False, _
   Optional ByVal Timeout As Integer = -1 _
   ) As Integer

  Shell 函数的返回值取决于 Pathname 中指定的程序在 Shell 返回时是否仍在执行。如果将 Wait 设置为 True 并且程序在超时过期前结束, Shell 返回零。如果超时过期或者省略 Wait 或将它设置为 False ,则 Shell 返回程序的进程 ID。进程 ID 是标识正在运行的程序的唯一数字。

  如果 Shell 函数无法启动指定的程序,则出现 System.IO.FileNotFoundException 错误。例如,当试图从使用 System.Windows.Forms 的应用程序运行 16 位程序(如 command.com )时,可能会发生这种情况。解决办法是运行将调用所需的 16 位程序的 32 位程序。如果是 command.com ,则可以将运行 cmd.exe 作为另一种选择。

  默认情况下, Shell 函数异步运行程序。这意味着用 Shell 函数启动的程序在 Shell 函数后面的语句执行前可能没有结束执行。如果想等待程序结束后再继续,请将 Wait 设置为 True 。

  整个路径和文件规范应该始终用引号引起来,如以下示例所示:

ID = Shell ("""C:/Program Files/MyFile.exe"" -a -q", , True, 100000)

  字符串内每对相邻的双引号 ( "" ) 被解释为字符串中的一个双引号字符。因此,前面的示例表示 Shell 函数的下列字符串:

"C:/Program Files/MyFile.exe" -a -q

  如果路径没有用引号引起来,Windows 就会在 C:/ 目录中查找名为 Program.exe 的文件,而不是在 C:/Program Files 目录中查找 MyFile.exe 文件。

  安全说明 如果路径和文件规范没有用引号引起来,那么当文件名或路径节点包含空格时,就会出现安全风险。在上面的示例中,路径节点 /Program Files 包含一个空格。如果规范不在引号中,并且名为 Program.exe 的程序(例如通过非法的破坏)安装在 C:/ 中,Windows 就会执行 Program.exe 程序而不是 MyFile.exe 。
    

                               2004年5月7日

 我的QQ:  26624998
我的网站:
http://blog.youkuaiyun.com/2066/

rasphone.pbk 当创建向导不能使用时,这个帮你手动进行宽带拨号 立即下载

相关推荐

读注册表判断程序版本号

通过读注册表获取企业QQ的版本号。

拔号上网命令

linux: pppd connect 'chat -v "" "AT" "OK" "AT+CGDCONT=1,\"IP\",\"ctlte\"" "OK" "ATDT*99#" "CONNECT"' /dev/ttyUSB2 115200 nodetach nocrtscts win10: Win+R打开执行"rasphone.exe"; 拨号 RASDIAL 拨号连接 *99#

Pei_hua100的专栏 500

android 自动拨号源码

android 自动重拨软件源码,用户可以手动输入号码,输入重复次数,中途可以切换进来手动停止

【批处理】使用cmd指令操作宽带

本文将提到两个指令:raslphone和rasldial

ZAIJIANLUOYE110的专栏 1276

自动拨号源代码需要自己懂一定的编程

https://wiki.voximal.com/doku.php?id=vxi_installation_guide:dialer:start#outbound_dialer

告别卡顿闪烁!在Cesium 1.134中集成SOG格式,让400万高斯秒级加载

本文详细介绍了如何在Cesium 1.134中集成SOG格式,实现400万高斯数据的秒级加载,解决传统加载方式导致的卡顿和闪烁问题。通过空间索引重构、属性量化编码和WebGPU原生支持等技术,SOG格式显著提升了三维地理空间可视化的性能。文章还提供了环境准备、模型转换和Cesium集成的实战指南,帮助开发者高效优化项目。

weixin_29313817的博客 498

windows连接公司网络

一、手动创建 1、修改注册表(修改后重启电脑!重启电脑!重启电脑!) 保存一下代码,重命名为L2tp.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters] “ProhibitIpSec”=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Policy

Vier_Y的博客 1938

Codex接入CCSwitch:本地代理与模型路由配置指南

在AI编程工具链中,本地代理与模型路由是连接智能体与模型服务的核心桥梁。Codex作为OpenAI推出的编程智能体,虽然具备强大的仓库理解和自主编码能力,但其默认模型链路固定,导致在多模型切换、内网统一管理及成本控制上存在天然瓶颈。CCSwitch正是为解决这一痛点而生的本地代理工具,它通过OpenAI兼容协议将Codex的请求透明转发至DeepSeek、通义千问等第三方模型服务,使模型切换如同点击按钮般简单。本文从本地代理和模型路由器的基础原理切入,系统讲解Codex与CCSwitch的安装配置、模型ID

weixin_33910460的博客 427

Win10自动拨号上网设置方法

1、在计算机中找到【C:WindowsSysWOW64asphone.exe】 创建快捷方式(放在桌面上方便)可以用“win+R ” 打开 运行 输入“rasphone.exe”   2、把这个快捷方式放到系统开机启动文件夹【C:ProgramDataMicrosoftWindowsStart MenuPrograms】 就可以开机启动了   3、在计算机中找到【C:WindowsSysWOW64asphone.exe】 创建快捷方式(放在桌面上方便)可以用 win+R 打开 运行 输入rasphone

Pei_hua100的专栏 1821

高通camera:PDAF的配置与测试

确认相关log日志都已经打开了之后,判断是在3A算法中没有应用到PDAF,可能是之前在调试AF效果的时候关闭了PDAF,打开效果文件对应的文件夹,在\kamorta_lce_S5K3P9\Scenario.Default\XML\STATS。在log中搜索af_pdaf_proc_pd_single,这个函数是pdaf算法中的,源码被封装了,这里看不到,因此只能通过log打印出来的参数来分析pd是否正确,主要参数有pd ,defocus,confidence。PDAF的配置与测试。

arvin_xiong的博客 2486

[XJTUSE DATABASE]——第三章 关系数据库标准语言SQL

新年了,来个大的,写了好几天,将近9000字,希望对大家有所帮助

weixin_47692652的博客 3120

从注册表读取程序的版本

从注册表读取程序的版本                  SunHai   开发工具:Microsoft Visual Studio .NET 2003   操作系统:Windows XP                  Registry 类简介  用Visual Studio .NET读写注册表一般用到Registry类.  Registry类提供在运行 Windows 的

2066的专栏 2185

时间序列:R语言ARMA-GARCH模型

ARMA: #读入数据,并绘制时序图 d<-read.table("C:/Users/haha/Desktop/R/zuoye/1.txt") x<-ts(log(d),start = 1) 1: x的时间序列图: x<-ts(log(d),start = 1) plot(x) 2: 从上图可以看出x.dif序列值在0的附近波动,没...

1万+

不借助第三方程序 无需ie拨号 自动实现adsl拨号上网【ALLyeSNO】

以前我用的是路由内置的拨号程序,所以一打开路由就自动拨号上网了。后来回到家里面路由没有带回家,只好装了一个星空互联的拨号程序,不过那个垃圾实在是太占内存传闻还有溢出,于是我就采用了XP自带的pppoe 程序实现ADSL拨号上网,搜索了一下资料网上说的ADSL本机拨号上网,都是借助第三方的程序例如 RASPPPOE EnterNet 等有没有不借助第三方程序的方法呢 虽然老子的内存有

FreeXploiT 3798

Oracle EBS GL日记账批“选定以过账”状态数据修复

日记账来源:应收账款。用户操作过账以后,自动提交请求“过账:单一分类账”一直运行中,该请求执行5,6个小时甚至10多个小时无法完成,导致“标准管理器”阻塞大量请求待定,“冲突解决管理器”的待定数量不断增加。系统管理员不得不把该请求强制取消,此时,日记账批的状态处于“选定以过账”(GL_JE_BATCHES.STATUS为S),如下图 检查此日记账批有3千多条日记账题头,由于日记账比较多,日记账的科目余额计算需要大量服务器资源和执行时间比较长。

陈显平的专栏-Oracle EBS 3245

深信服全产品线新版图标库 Visio版+PPT版【2023年最新整理】

深信服全产品线新版图标库Visio版(含网络位置符号以及其他网络设备和外设图标)有朋友想要我整理一下深信服的相关图标,那么今天,瑞哥给老铁们整理了。运维漫谈是瑞哥针对运维领域的一个公众号,欢迎大家的关注哦!篇幅原因,就只展示那么多,有需要的朋友自行下载。SANGFOR 各产品图标-Visio版。你好,这里是网络技术联盟站。SANGFOR全产品线图标。深信服设备前置面板-AC。

网络技术联盟站 3694

嵌入式linux下的GPRS拨号脚本

硬件平台: s3c2440+G24 软件:嵌入式linux,在内核中添加ppp协议的支持,应用程序为pppd 和chat 拨号的命令为: pppd call gprs-moto& gprs-moto为拨号脚本,内容为: ## pppd options for the Motorola T260 # Replace the obvious lines with ...

weixin_33936401的博客 251

[QMT和ptrade量化交易小白入门]-121、如何用K-means聚类,每月自动筛选高流动性ETF

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 827

Linux 使用pppd和ppp程序进行3G/4G拨号

Linux 使用pppd和ppp程序进行3G/4G拨号参考连接: http://blog.youkuaiyun.com/zhang_danf/article/details/43567559 http://www.cnblogs.com/cryhuang/p/5649372.html在openwrt的平台上,已经有完整的针对3G/4G模块进行ppp拨号的流程。由于要移植到LSDK上,所以进行了简单的研究,总

bingyu的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

脚本实现电脑不锁屏_如何实现开机自动连接深澜

干货来了,你,准备好了么?本文适用于使用Windows系统的小伙伴们,最终实现的效果是每次开机之后会自动连接上深澜有线网。深澜的认证方式是PPPoE拨号。基本解决思路是让系统开机自动运行一个拨号程序。而Windows系统下拨号可以使用rasdial命令行程序。于是问题就解决了.自动连接网络脚本的实现在Windows中,使用rasdial命令连接PPPoE。使用方法:rasdial [连接...

weixin_29228781的博客 764

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java实现动态切换上网IP (ADSL拨号上网)

动态切换IP的实现主是也由Windows的rasdial命令提供的,其实不是java的功劳,java只是调用一下bat脚本而已: rasdial命令:   拨号 Java代码   语法: rasdial  连接名称 username password   实例: rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf  

OnePiece 838

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

电信星空极速NetKeeper2.5 破解

3种方法破解星空极速共提供三种方法,都是软件方式破解。不是路由器破解。推荐使用第二、第三种方法。第二种方法最痛快,自己编写拨号程序。第三种方法最解恨,直接修改exe文件。并添加了破解的过程。方法一(推荐XP高手使用,因为需要替换系统文件):本方法优点:1.破解了星空极速的加密算法,直接得到加密后的用户名。不需要使用嗅探工具查看真实用户名。2.修改XP系统文件,可以直接输入回车换行符号。拨号随心所欲

晏斐的Blog 1万+

N32926 驱动 USB 3G MODEM成功, 用新唐官方的开发板

Net Device driver 添加PPP 协议 USB 设备添加 3G/GPRS 拨号设备 插入华为/中兴 的

3566

绿色软件下么——简单两步实现win 7上网自动拨号

一般我们在家里上网的话用的都是宽带拨号上网,但是每次要上网就要手动拨号一次很麻烦,可不可以用自动拨号的形式在实现上网呢,当然可以了,其实步骤还是很简单的,只要两个步骤就能实现了。   第一步:建立拨号连接   我们新建一个宽带连接(开始->控制面板->网络和Internet->查看网络状态和任务》设置新的连接或网络-> 连接到 Internet->接下来一步一步做就行了),我这儿建的名为“宽带

u010611825的专栏 618
上一篇: 给DataGrid加上右键菜单
下一篇: 从注册表读取程序的版本
2066
博客等级 码龄23年 8粉丝 70原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值