起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 856|回复: 17

[请求]关于平台外验证用户的密码,能否提供一个可以在Windows Mobile系统上调用的dll

[复制链接]
发表于 2010-10-26 08:46:40 | 显示全部楼层 |阅读模式
我们需要将X3平台中的用户和密码引入到PDA中,在Windows Mobile 6.5 系统中调用

http://bbs.justep.com/forum.php? ... =%C6%BD%CC%A8%CD%E2

提供的动态链接库调用失败,提示:无法找到 PInvoke DLL  "libPassChk.dll"

但是libPassChk.dll 已经部署到指定位置,与应用执行程序在同一个目录内,估计原因是这份动态链接库无法在Windows Mobile 系统中运行,官方是否能够提供支持Windows Mobile 系统的密码校验链接库
回复

使用道具 举报

 楼主| 发表于 2010-10-26 12:04:55 | 显示全部楼层
急需啊,有人帮忙么?
回复 支持 反对

使用道具 举报

发表于 2010-10-26 13:39:43 | 显示全部楼层
我们没有这样的环境,不好测试,这是一个第三方的东东,楼主可以从网上找找相关资料

另外,提示没有找到,
1、检查config文件是否加载了这个文件
2、dll应该放在lib目录,不知道楼主具体放在哪里了

可以参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=24702
这个帖子对比一下你的步骤
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-26 15:40:23 | 显示全部楼层
那个DLL不是你们提供的么?你可能没有理解我的意思,我的意思不是拿其他第三方的动态连接库放到X3平台里面用,而是用你们X3平台里面提供的密码校验dll放到其他平台上用,现在你们提供的这个dll在vs2005或者vs2008上开发的桌面程序使用没有问题,但是在PDA的windows mobile系统上运行报错

我将X3平台中登记的用户信息和密码上传到PDA后,没有你们提供的验证密码的链接库,没法验证用户的登录密码
回复 支持 反对

使用道具 举报

发表于 2010-10-26 16:32:33 | 显示全部楼层
哦,不好意思,没有注意,
收到,那我们需要准备一下环境测试一下了,

能给一个 windows mobile系统 安装吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-26 16:43:37 | 显示全部楼层
http://download.microsoft.com/do ... ssional%20Images%20(CHS).msi

这里可以下载相关的SDK
或者安装VS2008的时候安装智能设备
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-26 16:46:12 | 显示全部楼层
http://download.microsoft.com/do ... ssional%20Images%20(CHS).msi

奇怪,地址被截断了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-26 16:47:26 | 显示全部楼层
下面的地址前面加上 http://
download.microsoft.com/download/0/1/2/012bfbba-9fe5-4e68-86c9-d434446d97dd/0804/Windows%20Mobile%206%20Professional%20Images%20(CHS).msi
回复 支持 反对

使用道具 举报

发表于 2010-10-26 17:08:12 | 显示全部楼层
收到,有进展或者结果马上跟贴告知

如果可以,把你做的验证密码这部分也给我一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-26 17:22:27 | 显示全部楼层
代码很简单

/// <summary>
/// 校验X3系统密码
/// </summary>
/// <param name="APass">密码</param>
/// <param name="APassEncoded">密码转换码</param>
/// <returns>true-密码验证通过 false-密码验证不通过</returns>
[DllImport("libPassChk.dll", EntryPoint = "IsValidPassword", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern Boolean IsValidPassword(String APass, String APassEncoded);

private void button1_Click(object sender, EventArgs e)
{
    string sPassEncoded = GetPassWordEncoded(); // 这是是从数据库获取被加密的用户密码   
    string sPassWord = tb_password.Text.Trim(); // 这个是界面输入的密码
    if (IsValidPassword(sPassWord , sPassEncoded)) // 这里报错:无法找到 PInvoke DLL  "libPassChk.dll"
    {
        // 登录后的操作
    }
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 20:33 , Processed in 0.039661 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表