|
本帖最后由 萧阳天 于 2016-7-3 12:17 编辑
今天学API 发现这个命令当拨号不唯一的时候会取得不准确 搜了下 反映这个命令的问题的贴子还不少~
其实所有拨号连接都枚举出来了 其实就是少一句判断....
(我现在改成了传入连接名称取对应的账号密码 如果要是想不传入连接名称默认取宽带 可以通过其他办法来取到默认宽带连接的phonebookname然后再获取账号密码 )
感觉怎么着总比放个不精确的子程序好啊~
我就不传附件啦 代码贴了 直接放到精易模块的集_杂合_____程序集里就可以
|
系统_取拨号用户名密码 | 逻辑型 | | |
参_连接名称 | 文本型 | | | | 宽带用户名 | 文本型 | | | | 宽带密码 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_RasArraySize | 整数型 | | | 局_连接名称 | 文本型 | | | 局_信息 | 整数型 | | | 局_RasCount | 整数型 | | | 局_RasArray | 取连接信息用结构 | | 0 | 局_图书1 | 文本型 | | | 局_图书2 | 文本型 | | | 局_osi | OSVersionInfo | | | 局_计次 | 整数型 | | | 局_RasParams | ADSL拨号0 | | | 局_RasEntryProperties | RasEntry | | | 局_名字1 | 字节集 | | | 局_名字2 | 字节集 | | | 局_DialParamsUID | 整数型 | | | 连续赋值 (“”, 宽带用户名, 宽带密码 )局_RasCount = 子_GetRasEntryCount ()如果真 (局_RasCount = 0 )返回 (假)重定义数组 (局_RasArray, 假, 局_RasCount)如果真 (取数组成员数 (局_RasArray ) ≥ 1 )局_RasArray [1 ].内存大小 = GlobalSize_取连接信息用结构 (局_RasArray [1 ])局_RasArraySize = 局_RasCount × 局_RasArray [1 ].内存大小 如果真 (RasEnumEntries (0, 0, 局_RasArray, 局_RasArraySize, 局_RasCount ) ≠ 0 )返回 (假)
. 局_图书1 = 取空白文本 (255 )局_图书2 = 取空白文本 (255 )如果真 (SHGetSpecialFolderPath (0, 局_图书1, 26, 假)) 局_图书1 = 局_图书1 + “\Microsoft\Network\Connections\pbk\rasphone.pbk”如果真 (SHGetSpecialFolderPath (0, 局_图书2, 35, 假)) 局_图书2 = 局_图书2 + “\Microsoft\Network\Connections\pbk\rasphone.pbk”子_GetLSAPasswords ()计次循环首 (取数组成员数 (局_RasArray ), 局_计次 )局_RasParams.结构的大小 = GlobalSize_RASDIALPARAMS (局_RasParams )RtlMoveMemory_字节型 (局_RasParams.访问的入口名, 局_RasArray [局_计次 ].拨号连接名称, 255 )RasGetEntryDialParams (“”, 局_RasParams, 真)局_RasArraySize = GlobalSize_RASENTRY (局_RasEntryProperties )局_RasEntryProperties.dwSize = 局_RasArraySize RasGetEntryProperties (“”, 局_RasArray [局_计次 ].拨号连接名称, 局_RasEntryProperties, 局_RasArraySize, “”, 局_信息 )如果真 (局_图书1 ≠ “” 或 局_图书2 ≠ “”)局_名字1 = 到字节集 (子_字节型数组到文本 (局_RasParams.访问的入口名 )) + { 0 }局_名字2 = 编码_Ansi到Utf8 (子_字节型数组到文本 (局_RasParams.访问的入口名 )) 局_DialParamsUID = GetPrivateProfileInt (局_名字1, “DialParamsUID”, 0, 局_图书1 )如果真 (局_DialParamsUID = 0 )局_DialParamsUID = GetPrivateProfileInt (局_名字1, “DialParamsUID”, 0, 局_图书2 )如果真 (局_DialParamsUID = 0 )局_DialParamsUID = GetPrivateProfileInt (局_名字2, “DialParamsUID”, 0, 局_图书1 )如果真 (局_DialParamsUID = 0 )局_DialParamsUID = GetPrivateProfileInt (局_名字2, “DialParamsUID”, 0, 局_图书2 )如果真 (局_DialParamsUID > 0 )计次循环首 (取数组成员数 (FLSAList ), 局_计次 )如果真 (FLSAList [局_计次 ].名字 = 到文本 (局_DialParamsUID ) 且 FLSAList [局_计次 ].值 ≠ “”)子_文本到字节型数组 (局_RasParams.指定用户名称, FLSAList [局_计次 ].用户 )子_文本到字节型数组 (局_RasParams.指定用户密码, FLSAList [局_计次 ].值 )计次循环尾 ()局_连接名称 = 子_字节型数组到文本 (局_RasParams.访问的入口名)如果真 (到小写 (局_连接名称 ) = 到小写 (参_连接名称 )) 宽带用户名 = 子_字节型数组到文本 (局_RasParams.指定用户名称 )宽带密码 = 子_字节型数组到文本 (局_RasParams.指定用户密码 )跳出循环 ()计次循环尾 ()返回 (删首尾空 (宽带用户名 ) ≠ “”)
|
|