【随手写的程序】闪翼v0.9
本帖最后由 CHAN.S 于 2012-11-27 21:14 编辑版本0.9.0 :
因为是随手写的,功能不太完善,目前可供静态密码的童鞋使用
需要把程序拖到 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 【开机启动文件夹】
这样的话,开机就会自动连接闪讯,而且没有一开始的闪讯提示 和 闪讯页面 及广告。
一开机就发现闪讯已自动连接上了,什么都不用点。(不会有任何页面弹出)
注意事项:
1.0.9版仅供静态密码的同学使用,而且账号及密码必须在闪讯中已保存
2.此程序在开机运行是隐藏的,自动连接上闪讯,去广告后,会自动关闭。不需要人工关掉它
3.闪讯必须默认安装在C:\ChinaNetSn
ps:动态密码全自动版,我构想是这样的,
程序首先自动连接闪讯手机发出的无线热点,然后通过114school获取密码。然后再在闪讯中登录。
貌似有点麻烦
等有空了,先出个手动版的。。
技术帖 又见大神新作,,, 代码:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Private Declare Function GetDlgItem Lib "user32" ( _
ByVal hDlg As Long, _
ByVal nIDDlgItem As Long) As Long
Private Declare Sub Sleep Lib "Kernel32" ( _
ByVal dwMilliseconds As Long)
Public Const KEY_ENTER = 13
Public Const TEXT_STATE = "状态:"
Private Const NUM_ERROR = 32
Private Const SW_SHOWNORMAL = 1
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MINIMIZE = &HF020&
Private Const WM_SETTEXT = 12
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_CLOSE = &H10
Dim mhandle As Long
Dim chandle As Long
Private Function OpenNetKeeper() As Boolean
Dim sysdrive As String
Dim path As String
Dim state As Long
Dim location As String
sysdrive = Environ("SYSTEMDRIVE")
path = sysdrive & "\ChinaNetSn\bin\Netkeeper.exe"
location = sysdrive & "\ChinaNetSn\bin\"
state = IIf(Dir(path) <> "", ShellExecute(vbNull, "open", path, vbNullString, location, SW_SHOWNORMAL), 0)
If state < NUM_ERROR Then OpenNetKeeper = False: Exit Function
Do
mhandle = FindWindow("#32770_nkDialog_{6E1C7E0B-9380-4f69-A8D8-393F70589DE1}", vbNullString) '闪讯
DoEvents
Loop Until mhandle <> 0
Call PostMessage(mhandle, WM_SYSCOMMAND, SC_MINIMIZE, vbNull)
OpenNetKeeper = True
End Function
Private Function SendPassword() As Boolean
Dim phandle As Long
Dim password As String
Sleep (100) '等待
DoEvents
chandle = FindWindowEx(mhandle, 0&, "#32770", vbNullString)
phandle = GetDlgItem(chandle, &H412)
password = Fmain.Tpass.Text
If password = vbNullString Then SendPassword = True: Exit Function '静态密码
If phandle <> 0 Then Call PostMessage(phandle, WM_SETTEXT, 0, ByVal password) Else SendPassword = False: Exit Function
SendPassword = True
End Function
Private Function Login() As Boolean
Dim bhandle As Long
bhandle = GetDlgItem(chandle, &H3F2)
If bhandle <> 0 Then
PostMessage bhandle, WM_LBUTTONDOWN, ByVal 0&, ByVal 0&
PostMessage bhandle, WM_LBUTTONUP, ByVal 0&, ByVal 0&
Else
Login = False: Exit Function
End If
Login = True
End Function
Private Sub Minimize()
Dim ahandle As Long
Do
ahandle = FindWindowEx(mhandle, 0&, "AfxWnd42", vbNullString)
DoEvents
Loop Until ahandle <> 0
SendMessage mhandle, WM_CLOSE, ByVal 0&, ByVal 0&
End Sub
Public Function OperateNetKeeper() As Boolean
If Not OpenNetKeeper() Then OperateNetKeeper = False: Exit Function
If Not SendPassword() Then OperateNetKeeper = False: Exit Function
If Not Login() Then OperateNetKeeper = False: Exit Function
Call Minimize
'MsgBox "Finished!", , ""
OperateNetKeeper = True
End Function 不是说动态密码么 wjk2002 发表于 2012-11-27 17:22 static/image/common/back.gif
不是说动态密码么
这个版本只能供静态密码的童鞋用因为我只是使用了闪讯中保存的数据,
如果密码是动态的,呵呵~你懂的 我会更新下去的...因为我用的就是动态密码 。。怎么会有的人动态 有的人静态啊