ww亚洲ww亚在线观看,wwwxxxx日韩高清,真实14初次破初视频在线播放,五月丁香婷婷综合激情,日本熟妇丰满的大屁股,a级免费按摩黄片,黄色视频.wwww

WINDOWS NT/下屏蔽CTRL+ALT+DEL完美解決的方法

時間:2022-05-09 11:05:05 電腦 我要投稿
  • 相關推薦

WINDOWS NT/2000下屏蔽CTRL+ALT+DEL完美解決的方法

  前言

  在WINDOWS 9X環(huán)境中我們可以使用SystemParametersInfo (SPI_SCREENSAVERRUNNING, 1,NULL, 0);來屏蔽CTRL+ALT+DEL,但在NT/2000環(huán)境下卻行不通,使使用WH_KEYBOARD_LL這個低級的鍵盤hook也無法攔截!筆者通過替換GINA DLL的方式很好地實現(xiàn)了在NT/2000下屏蔽CTRL+ALT+DEL的功能。

  下載源代碼 6K

  一、原理

  在NT/2000中交互式的登陸支持是由WinLogon調用GINA DLL實現(xiàn)的,GINA DLL提供了一個交互式的界面為用戶登陸提供認證請求。在WinLogon初始化時,就向系統(tǒng)注冊截獲CTRL+ALT+DEL消息,所以其他程序就無法得到CTRL+ALT+DEL的消息。

  WinLogon會和GINA DLL進行交互,缺省是MSGINA.DLL(在System32目錄下)。微軟同時也為我們提供的接口,自己

  可以編GINA DLL來代替MSGINA.DLL。

  WinLogon初始化時會創(chuàng)建3個桌面:

  (1)、winlogon桌面:主要顯示window 安全等界面,如你按下CTRL+ALT+DEL,登陸的界面等

  (2)、應用程序桌面:我們平時見到的那個有我的電腦的界面

  (3)、屏幕保護桌面:屏幕保護顯示界面。

  在用戶登陸以后,按下CTRL+ALT+DEL鍵的時候,WinLogon回調用GINA DLL的輸出函數(shù):WlxLoggedOnSAS,

  這時正處于winlogon桌面,我們只要直接將他轉向應用程序桌面,系統(tǒng)就不會顯示W(wǎng)indows安全那個界面,換一種說法

  也就是用戶按下CTRL+ALT+DEL后,不會起什么作用。當是我們在切換桌面的時候會出現(xiàn)屏幕閃動!

  二、程序實現(xiàn)

  GINA DLL要輸出下列函數(shù)(winlogon會調用)

  WlxActivateUserShell

  WlxDisplayLockedNotice

  WlxDisplaySASNotice

  WlxDisplayStatusMessage

  WlxGetStatusMessage

  WlxInitialize

  WlxIsLockOk

  WlxIsLogoffOk

  WlxLoggedOnSAS

  WlxLoggedOutSAS

  WlxLogoff

  WlxNegotiate

  WlxNetworkProviderLoad

  WlxRemoveStatusMessage

  WlxScreenSaverNotify

  WlxShutdown

  WlxStartApplication

  WlxWkstaLockedSAS

  為了簡化編程,我們從MSGINA.DLL中動態(tài)獲取上訴函數(shù),在自定義的DLL中(以下稱為NoReboot.DLL)中直接調用MSGINA.DLL

  的函數(shù)即可,F(xiàn)在我們要處理的就是WlxLoggedOnSAS函數(shù):

  int WINAPI WlxLoggedOnSAS (

  PVOID pWlxContext,

  DWORD dwSasType,

  PVOID pReserved)

  {

  HANDLE hMutex;

  WriteInfo("WlxLoggedOnSAS rn"); //用于記錄信息

  if (dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL){ //屏蔽CTRL_ALT_DEL,也可以根據(jù)特定條件來決定是否要屏蔽

  //我采用了Mutex來控制是否屏蔽,(注意:要用unicode)

  hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, L"_ac952_z_cn_CTRL_ALT_DEL");

  if (hMutex){

  CloseHandle(hMutex);

  WriteInfo("disble CTRL+ALT+DEL rn");

  return WLX_SAS_ACTION_NONE; //將屏幕切換到應用程序桌面,屏蔽掉CTRL+ALT+DEL

  }

  else

  WriteInfo("not disble CTRL+ALT+DEL rn");

  }

  return prcWlxLoggedOnSAS ( //這是我從MSGINA.DLL中獲取的函數(shù)。

  pWlxContext,

  dwSasType,

  pReserved);

  }

  我們要在自己的程序中調用hMutex = CreateMutex(NULL, FALSE, "_ac952_z_cn_CTRL_ALT_DEL");就可屏蔽CTRL+ALT+DEL。

  三、安裝和注意事項

  在編寫GIAN DLL中要注意,GINA DLL使用的是unicode。

  GINA DLL的安裝:

  鍵名 : HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon

  變量名 : GinaDLL

  變量類型 : [REG_SZ]

  內容 : "你的GINA DLL的名稱" 如:"NoReboot.DLL:

  將你的GINA DLL(NoReboot.dll)拷貝到系統(tǒng)目錄下(system32),重啟機器,你的GINA DLL(NoReboot.dll)就會運行。

  如果出現(xiàn)進不了你的系統(tǒng),那你進入DOS后,將msgina.dll拷貝成你的GINA DLL(NoReboot.dll)就可進入了,或者進入安全模式,刪除掉那個鍵值。

【W(wǎng)INDOWS NT/下屏蔽CTRL+ALT+DEL完美解決的方法】相關文章:

短信被屏蔽解決方法03-18

短信被屏蔽的解決方法06-03

Windows 系統(tǒng)EFS加密出了問題的解決方法03-18

關于Windows7刪除用戶帳戶的解決方法04-08

iphone屏蔽短信的方法01-27

windows7玩游戲不能全屏的解決方法03-22

電腦Win鍵的屏蔽方法04-09

忘記Windows7系統(tǒng)登陸密碼的解決方法03-28

Win7系統(tǒng)下如何打開Windows PowerShell窗口的方法03-27

Windows XP清理垃圾的方法03-22