注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风雨启示录

欢迎光临我的网店优优我心:http://uumyheart.taobao.com

 
 
 

日志

 
 

Python: win32ras模块的使用  

2010-07-31 21:21:49|  分类: python学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
>>> import win32ras
>>> dir(win32ras)
['CreatePhonebookEntry', 'Dial', 'EditPhonebookEntry', 'EnumConnections', 'EnumEntries', 'GetConnectStatus', 'GetEntryDialParams', 'GetErrorString', 'HangUp', 'IsHandleValid', 'RASCS_AllDevicesConnected', 'RASCS_AuthAck', 'RASCS_AuthCallback', 'RASCS_AuthChangePassword', 'RASCS_AuthLinkSpeed', 'RASCS_AuthNotify', 'RASCS_AuthProject', 'RASCS_AuthRetry', 'RASCS_Authenticate', 'RASCS_Authenticated', 'RASCS_CallbackComplete', 'RASCS_CallbackSetByCaller', 'RASCS_ConnectDevice', 'RASCS_Connected', 'RASCS_DeviceConnected', 'RASCS_Disconnected', 'RASCS_Interactive', 'RASCS_LogonNetwork', 'RASCS_OpenPort', 'RASCS_PasswordExpired', 'RASCS_PortOpened', 'RASCS_PrepareForCallback', 'RASCS_Projected', 'RASCS_ReAuthenticate', 'RASCS_RetryAuthentication', 'RASCS_StartAuthentication', 'RASCS_WaitForCallback', 'RASCS_WaitForModemReset', 'RASDIALEXTENSIONS', 'SetEntryDialParams', '__doc__', '__file__', '__name__', 'error']
 
 
由上可以看出,方法是很多的,在这里只介绍常用的或者说我目前用到的。
1、打开连接:
pid, ret = win32ras.Dial(None, None, params, None)
param = ["name", "num", ' ',' ', ' ',' ')]
name:表示的是你建立的拨号连接ISP名称,注意当你在创建连接的时候,无线上网设备一定要插在电脑上,否则你会错过一项设置。
num:表示的是你拨号上网的设置的电话号码。
函数将返回pid:进程ID; ret表示的是否打开成功,不同的值,有不同的含义。0表示打开成功
2、断开连接:
win32ras.HangUp(pid)
这个函数比较的简单,pid是打开连接时产生的进程ID号
3、查询有几个设备:
win32ras.EnumConnections()
返回的是各个设备的pid、name列表
 
下面是我使用的代码,用python编写:
#--------------------------------------------------------------------------
#开启CDMA   
def Open_CDMA():
    global pid
    pid = None
    params = ('3G',  '#777','','', '','')
    try:
        pid, ret = win32ras.Dial(None, None, params, None)
        if ret == 0:
           print 'CDMA连接成功'
           return ret
        elif ret==602: 
           print "错误,端口已经打开!"
           return ret
        elif ret==638:
           print "错误,请求超时!"
           return ret
        elif ret==649:
           print  "错误,没有拨号音!"
           return ret
        elif ret==650:
           print "错误,拨入的远程计算机没有响应!"
           return ret
        elif ret==652:
           print  "错误,未知的响应!"
           return ret
        elif ret==660:
           print "错误,没有响应!"
           return ret
        elif ret==666:
           print "错误,设备没有准备好!"
           return ret
        elif ret==676:
           print "错误,占线!"
           return ret
        elif ret==678:
           print "错误,没有应答信号!"
           return ret
        elif ret==679:
           print "错误,没有载波信号!"
           return ret
        elif ret==718:
           print "PPP接入超时。"
           return ret
        else :
           print "未知的错误!"
           return ret
    except:       
        print 'Open CDMA error',traceback.format_exc()
        return
 
#--------------------------------------------------------------------------
#关闭CDMA       
def ShutDown_CDMA():
    global pid
    if pid != None:
        n = 5
        while(n > 0):
            try:
                win32ras.HangUp(pid)
                print "CDMA 关闭成功"
                break
            except:       
                print 'ShutDown CDMA error',traceback.format_exc()
                n = n -1
                time.sleep(3)
    else:
        print "CDMA 进程不存在"
        return
 
#检查有没有运行着的CDMA       
def Check_for_CDMA():
    d = []
    d = win32ras.EnumConnections()
    if(len(d) == 0):
        print "系统中没有运行的CDMA"
    else:
        print "系统中存在运行的CDMA: %d 个" % len(d)
        print "实施关闭进程"
        for p in d:
            n = 5
            while( n > 0):
                try:
                    win32ras.HangUp(p[0])
                    print "CDMA: %s关闭成功" % p[1]
                    break
                except:       
                    print 'ShutDown CDMA error',traceback.format_exc()
                    n = n -1
                    time.sleep(3)

 
 
 
 
  评论这张
 
阅读(2685)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017