阅读:2510回复:5
驱动安装时不出现 警告(没过微软数字签名) 的方法
我使用了前辈的注册表禁止的方法,如下
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; 不知道为什么,根本不起作用,请各位前辈多多指点 |
|
沙发#
发布于:2004-12-27 17:15
你这个方法成功了吗?我现在也碰到这个问题。
|
|
板凳#
发布于:2004-12-27 22:40
没有,如果成功就不用再问了。。。。嘿嘿
|
|
地板#
发布于:2007-06-26 10:42
我使用是的创建一个线程,如果出现对话框,就让它继续!呵呵,操作系统可以设置默认继续,但我没有用过,也不想那样子用,反正这样子也没有问题。
|
|
地下室#
发布于:2007-06-28 14:52
引用第3楼yin138于2007-06-26 10:42发表的 : 在哪里創建綫程的?怎麽創建和使用的?能不能給出源碼看看,謝謝 |
|
5楼#
发布于:2007-07-02 10:17
看看这个行不!
自己反吧 |
|
|