winapi - WinLockDLL.dll在Windows7中的函数

标签 winapi dll windows-7 dllimport

我正在运行一个用于测试学生的应用程序,这会阻止他们执行除测试之外的任何操作。

当然,应用程序会阻止他们关闭它,并阻止他们运行任务管理器(除其他外):

[DllImport("WinLockDLL.dll")]
private static extern int CtrlAltDel_Enable_Disable(bool bEnableDisable);
private void Restrict(bool enabled)
{
    CtrlAltDel_Enable_Disable(enabled);
}

该dll包含我使用的其他功能,例如隐藏任务栏和桌面。

直到最近,学生们都使用了 WindowsXP,而且它很有效。 最近同学们都升级到Windows7了,就不能用了。

在调试过程中,我发现Windows7根本没有WinLockDLL.dll,因此我将dll复制到一台W7计算机上并尝试了该应用程序。

这次它找到了 dll 并且没有引发任何错误,但该函数根本没有任何效果。

那么,有人知道 Windows7 中有替代方案吗?

我发现的最接近的是 this ,其中有人发布了这样的内容:

All the functions you used in the example crash on Windows 7 unless you change the call to DLL_CALL_STDCALL

“调用 STDCALL”没有帮助,因为这正是 DllImport 默认情况下所做的

我读过阻止 ctrl-alt-delete 的替代方案,例如取消 ctrl 键或通过注册表或 GPO 阻止任务管理器,但我更喜欢 WinLockDLL.dll 的简单替代方案,其中包含我使用的几个函数.

提前致谢!

最佳答案

对于将来发现此内容的任何人。我正在创建一个库来替换 Windows 7 的 WinLock.dll。可以在此处找到源代码。

Win7Lock Github

关于winapi - WinLockDLL.dll在Windows7中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137164/

相关文章:

c++ - win32 c++ 我想在 STATIC 标签的 TEXT 之后直接插入一个 EDIT 控件

c - 如何获取事件窗口的名称?

.net - 如何在.net项目中使用C++类库

c# - 在不重新编译项目的情况下升级 C# 项目中的引用 dll

windows - 我怎样才能强制 Aero 绘制一个无边框窗口,就好像它处于事件状态一样,即使它不是?

c++ - QApplication::setWindowIcon 适用于 Windows XP,但不适用于 Windows 7

c# - 工作 C# 示例 : Writing & Reading NTFS Alternate Data Stream Under Win7 64 bit

c++ - 纠正此错误 :GetLastError 0x13d

java - 如何在 Delphi 中调试从 Java 调用的 DLL?

.net - 确定 Windows 当前是否正在播放声音