dongchaomissyou
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2005-10-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2415回复:5

驱动安装时不出现 警告(没过微软数字签名) 的方法

楼主#
更多 发布于:2004-12-27 15:36
我使用了前辈的注册表禁止的方法,如下

function GetDriverSigning()      
STRING szKey, svValue, szValue;
STRING szKeyName;
NUMBER nvType,nvSize;
begin  
     RegDBSetDefaultRoot( HKEY_CURRENT_USER );

//设置HKCU下的未签名的驱动程序安装操作
szKey     = "Software\\Microsoft\\Driver Signing\\";
szKeyName = "Policy";
nvType    = REGDB_NUMBER;      

//保存原值
if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svUserDriverSigning, g_nvUserSize ) < 0 ) then
g_svUserDriverSigning = "0";
g_nvUserSize  = -1;
endif;  
//设置为"默认继续"
szValue = "0";
nvSize  = -1;  

//设置键值
    if( RegDBSetKeyValueEx ( szKey , szKeyName , nvType , szValue ,nvSize ) < 0) then
        MessageBox ("RegDBSetKeyValueEx failed.", SEVERE);
endif;
 
    ///////////////////////////////////////////////////////////////////////////
    RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE);  
        
    //设置HKLM下的未签名的驱动程序安装操作    
    szKey     = "Software\\Microsoft\\Driver Signing\\";
szKeyName = "Policy";
nvType    = REGDB_BINARY;

//保存原值
if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svDriverSigning, g_nvSize ) < 0 ) then
g_svDriverSigning = "\0\0\0\0";
g_nvSize  = 4 ;
endif;

//设置为"默认继续"
szValue = "\0\0\0\0";
nvSize = 4;
      
    //设置键值
    RegDBSetKeyValueEx ( szKey , szKeyName , nvType , szValue ,nvSize );
    
    //////////////////////////////////////////////////////////////////////////////  
    RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE);
    
    //设置HKLM下的未签名的非驱动程序安装操作
szKey  = "Software\\Microsoft\\Non-Driver Signing\\";
szKeyName = "Policy";      
nvType    = REGDB_BINARY;
 
//保存原值
if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svNonDriverSigning, g_nvNonSize ) < 0 ) then
g_svNonDriverSigning = "\0\0\0\0";
g_nvNonSize = 4;
endif;

//设置为"默认继续"
szValue = "\0\0\0\0";
nvSize  = 4;

    RegDBSetKeyValueEx ( szKey , szKeyName , nvType , szValue ,nvSize );      
        
end;  

///////////////////////////////////////////////////////
function SetDriverSigning()    
STRING szKey, svValue, szValue;
STRING szKeyName;
NUMBER nvType,nvSize;
begin  
     RegDBSetDefaultRoot( HKEY_CURRENT_USER );

//设置HKCU下的未签名的驱动程序安装操作
szKey     = "Software\\Microsoft\\Driver Signing\\";
szKeyName = "Policy";
nvType    = REGDB_NUMBER;        

//还原初值
    RegDBSetKeyValueEx ( szKey , szKeyName , nvType , g_svUserDriverSigning ,g_nvUserSize );  
  
    ////////////////////////////////////////////////////////////////////////////////////////
    RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE);  
        
    //设置HKLM下的未签名的驱动程序安装操作    
    szKey     = "Software\\Microsoft\\Driver Signing\\";
szKeyName = "Policy";
nvType    = REGDB_BINARY;
      
    //还原初值
    RegDBSetKeyValueEx ( szKey , szKeyName , nvType , g_svUserDriverSigning ,g_nvUserSize );    
    ////////////////////////////////////////////////////////////////////////////////////////
    //设置HKLM下的未签名的非驱动程序安装操作
szKey  = "Software\\Microsoft\\Non-Driver Signing\\";
szKeyName = "Policy";      
nvType    = REGDB_BINARY;

    //还原初值
    RegDBSetKeyValueEx ( szKey , szKeyName , nvType , g_svNonDriverSigning, g_nvNonSize );    
end;  

不知道为什么,根本不起作用,请各位前辈多多指点
                          
shao1972
驱动牛犊
驱动牛犊
  • 注册日期2004-12-27
  • 最后登录2004-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-27 17:15
你这个方法成功了吗?我现在也碰到这个问题。
dongchaomissyou
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2005-10-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-27 22:40
没有,如果成功就不用再问了。。。。嘿嘿
yin138
驱动牛犊
驱动牛犊
  • 注册日期2007-04-24
  • 最后登录2008-08-28
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-26 10:42
我使用是的创建一个线程,如果出现对话框,就让它继续!呵呵,操作系统可以设置默认继续,但我没有用过,也不想那样子用,反正这样子也没有问题。
datas
驱动牛犊
驱动牛犊
  • 注册日期2007-05-28
  • 最后登录2007-06-28
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-28 14:52
引用第3楼yin138于2007-06-26 10:42发表的  :
我使用是的创建一个线程,如果出现对话框,就让它继续!呵呵,操作系统可以设置默认继续,但我没有用过,也不想那样子用,反正这样子也没有问题。


在哪里創建綫程的?怎麽創建和使用的?能不能給出源碼看看,謝謝
cao002
驱动牛犊
驱动牛犊
  • 注册日期2007-06-14
  • 最后登录2015-06-08
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望197点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-02 10:17
看看这个行不!
自己反吧
附件名称/大小 下载次数 最后更新
sign.rar (55KB)  141 2007-07-02 10:17
游客

返回顶部