分类 应用开发 下的文章

以前用过一个模块来调用认证域帐号的,后来发现引用代码太多,因为只是为了做帐号密码认证,不做其他任何查询什么的,所以干脆拔代码自己精简下,下面的代码只是利用了输入正确的帐号密码创建ldap连接来判断密码是否正确。

<?php
    if (isset($_POST['UserName']))
        {
        $_SESSION['txtNo']=$_POST['UserName'] ;
        $ldapConnect=ldap_connect('192.168.1.200' , '389' );  
        //建立到ldap服务器的连接192.168.1.200是ldap服务器ip,389是ldap服务器端口(默认389)  
            $bind= @ldap_bind($ldapConnect , $_POST['UserName'] . '@yourname.local',$_POST['PassWord'] );  
         //验证帐号密码,ldap_bind第一个为绑定的连接,第二个为用户名(注意是否有后缀),第三个为密码。  
            if($bind && $_POST['password'] != "")  
            {//验证成功,跳转到ok.php
                $_SESSION['login']="ok";
        echo '<meta http-equiv="refresh" content="0;url=ok.php">';
            }  
            else  
            {//验证失败,弹出提示,并跳转回login.php
                echo "<script>alert('用户名或密码错误')</script>";
                echo '<meta http-equiv="refresh" content="0;url=login.php">';
         }  
            ldap_close($ldapConnect);   
        //关闭ldap连接  
        }
    else {
        echo "<script>alert('用户名或密码错误')</script>";
        echo '<meta http-equiv="refresh" content="0;url=login.php">';
    }
?>

Notepad++有安装版和压缩版,安装版装支持鼠标右键菜单直接编辑文件,而压缩版没有提供选项增加这个功能,理论上任何程序都可以做到右键菜单中。
通过参考安装版的Notepad版的注册表增加内容,可以发现,以下内容实现了右键菜单

 Windows Registry Editor Version 5.00
 [HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Notepad++]
 @="{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}]
 @="Notepad++"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InprocServer32]
 @="C:\\Program Files\\Notepad++\\NppShell_04.dll"
 "ThreadingModel"="Apartment"
 [HKEY_CLASSES_ROOT\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings]
 "Title"="Edit with &Notepad++"
 "Path"="C:\\Program Files\\Notepad++\\notepad++.exe"
 "Custom"=""
 "ShowIcon"=dword:00000001
 "Dynamic"=dword:00000001
 "Maxtext"=dword:00000019

如果你的程序路径是默认的,可以把上面文字存成add.reg文件导入就可以了。
由于我希望把它做成通用方式,所有又参考了一下其他软件的绿化方法,把它做成了addreg.inf文件,内容如下

 [Version]
 Signature="$CHICAGO$"
 Provider=penglei.cn,2006
 [DefaultInstall]
 AddReg=Notepad_AddReg
 [Notepad_AddReg]
 hkcr,"*\shellex\ContextMenuHandlers\Notepad++",,,"{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InProcServer32","ThreadingModel",,"Apartment"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\InProcServer32",,,"%01%\NppShell_04.dll"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings","Title",,"Edit with &Notepad++"
 hkcr,"CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings","Path",,"%01%\notepad++.exe"
 [Strings]

为了方便还可以将以下内容存成addreg.bat,用于直接运行

rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 .\AddReg.inf

如果需要建立删除邮件的话,对应着删除这几个注册表键值就可以了,也可以做成以上方式。
还有一点需要注意的是,如果你用压缩包版的文件,还需要从安装版里安装并拷贝一个NppShell_04.dll出来(现在5.9版本对应这个名字,以后根据实际文件名再更改就可以了)