利用远程线程屏蔽ctrl+alt+del组合键

发表于:2007-07-01来源:作者:点击数: 标签:
前几天在网上看到一个利用远程线程技术在Win2000下屏蔽ctrl+alt+del组合键的方法。 不过是bcb和delphi的代码。 在VC++中的调用方法如下(dll用的是别人的): void CADlg::OnButton2() { typedef BOOL (__s td call * _EnabledKey)(const char* sa); HINSTANCE


前几天在网上看到一个利用远程线程技术在Win2000下屏蔽ctrl+alt+del组合键的方法。 不过是bcb和delphi的代码。 在VC++中的调用方法如下(dll用的是别人的):

 


 

void CADlg::OnButton2()
{
typedef BOOL (__stdcall * _EnabledKey)(const char* sa);
HINSTANCE hDLLInst = ::LoadLibrary("RunDLL.dll");     
    if(hDLLInst)
{
_EnabledKey EnabledKey=(_EnabledKey)::GetProcAddress(hDLLInst, "EnabledKey");
if(EnabledKey)
{
char szPath[MAX_PATH];
::GetCurrentDirectory(MAX_PATH,szPath);
strcat(szPath,"\\SASHOOK.dll");
 
if (EnabledKey(szPath));
MessageBox("成功屏蔽");
}
::FreeLibrary(hDLLInst);
}
}

void CADlg::OnButton3()
{
typedef BOOL (__stdcall * _EnabledKey)(const char* sa);
HINSTANCE hDLLInst = ::LoadLibrary("RunDLL.dll");     
    if(hDLLInst)
{
_EnabledKey DisabledKey=(_EnabledKey)::GetProcAddress(hDLLInst, "DisabledKey");
if(DisabledKey)
{
char szPath[MAX_PATH];
::GetCurrentDirectory(MAX_PATH,szPath);
strcat(szPath,"\\SASHOOK.dll");
 
if (DisabledKey(szPath));
MessageBox("成功解除");
}
::FreeLibrary(hDLLInst);
}
}


原文转自:http://www.ltesting.net