如何在Win CE中拨打GPRS/EDGE?

大家好。
我正在开发Windows CE上的Python应用程序,需要连接到互联网(通过GPRS/EDGE)。当我打开设备时,互联网连接不活动。如果我打开Internet Explorer,它就会激活。
我想在我的应用程序中激活连接。我正在尝试使用RasDial函数而不是ctype库来实现这一点,但是我不能让它工作。这是正确的方式,还是我应该做其他的事情?
以下是我当前的代码。ResDial函数不断返回错误87和无效参数。我不知道它到底出了什么问题。
我真的很感激任何形式的帮助。先谢谢你。

选择 | 换行 | 行号
  1. #encoding: utf-8
  2.  
  3. import ppygui as gui
  4. from ctypes import *
  5. import os
  6.  
  7. class MainFrame(gui.CeFrame):
  8.     def __init__(self, parent = None):
  9.         gui.CeFrame.__init__(self, title=u"Zgodovina dokumentov", menu="Menu")
  10.  
  11.         DWORD = c_ulong
  12.         TCHAR = c_wchar
  13.         ULONG_PTR = c_ulong 
  14.  
  15.         class RASDIALPARAMS(Structure):
  16.              _fields_ = [("dwSize", DWORD),
  17.                          ("szEntryName", TCHAR*21),
  18.                          ("szPhoneNumber", TCHAR*129),
  19.                          ("szCallbackNumber", TCHAR*49),
  20.                          ("szUserName", TCHAR*257),
  21.                          ("szPassword", TCHAR*257),
  22.                          ("szDomain", TCHAR*16),
  23.                          ]
  24.  
  25.         try:
  26.             param = RASDIALPARAMS()
  27.             param.dwSize = 1462 # also tried 1464 and sizeof(RASDIALPARAMS()). Makes no difference.
  28.             param.szEntryName = u"My Connection"
  29.             param.szPhoneNumber = u"0"
  30.             param.szCallbackNumber = u"0"
  31.             param.szUserName = u"0"
  32.             param.szPassword = u"0"
  33.             param.szDomain = u"0"
  34.  
  35.             iNasConn = c_ulong(0)
  36.             ras = windll.coredll.RasDial(None, None, param, c_ulong(0xFFFFFFFF), c_voidp(self._w32_hWnd), byref(iNasConn))
  37.             print ras, repr(iNasConn) #this prints 87 c_ulong(0L)
  38.         except Exception, e:
  39.             print "Error"
  40.             print e
  41.  
  42. if __name__ == '__main__':
  43.    app = gui.Application(MainFrame(None))
  44.    # create an application bound to our main frame instance
  45.    app.run()
  46.    #launch the app !
  47.  
  48.  

标签: python

添加新评论