把屏幕锁住,热键,任务管理器都禁用
本人由于项目需要,现需要做一个用Asp.net做一个B/S的系统,这个系统要求:只能使用当前系统,把屏幕锁住,热键,任务管理器都禁用,这个窗体最好是全屏的,能把任务栏也给盖住。恳请各位高手帮忙!此致:
敬礼!
--------------------编程问答-------------------- 好流氓的项目 --------------------编程问答-------------------- 请是用windows api --------------------编程问答-------------------- window.open (page,status=1,scrollbars=1,resizable=1)
设置打开的浏览器
<script language="javascript" type="text/javascript">
self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);
function keydown()
{
// if(event.keyCode==8)//屏蔽退格键
// {
// event.keyCode=0;
// event.returnValue=false;
// }
if(event.keyCode==13)//屏蔽回车键
{
event.keyCode=0;
event.returnValue=false;
}
if(event.keyCode==116)//屏蔽F5刷新键
{
event.keyCode=0;
event.returnValue=false;
}
}这个是锁键的一些代码,把其他的键的值加上就可以了 --------------------编程问答-------------------- c/s倒还可以的,b/s的就不知道了 --------------------编程问答-------------------- web程序控制客户端机器 1 js 2 Activex --------------------编程问答-------------------- 我想js不能控制用户在任务栏右键选择任务管理器吧...
lz这样的项目.估计要自己开发一个浏览器,类似于C/S项目了.专门用于访问自己的网站. --------------------编程问答--------------------
好性感的嘴唇啊,呵呵 --------------------编程问答-------------------- 可以做到一部分,初始登录页面肯定不是全屏的
登录后用window.open('页面url','窗口名称','fullscreen=yes')
这样弹出来的就是全屏的了,接下来要做的就是禁止一些热键了:
ctrl和alt都可以用js禁止,至于任务管理器是无法禁止的(ctrl+alt+delete属于系统中较高的中断)
--------------------编程问答-------------------- 现在是我自己做了一个类似于IE的浏览器,可是对于任务栏的屏闭还是实现不了,不知道哪位兄弟给点意见。 --------------------编程问答-------------------- 直接关机 --------------------编程问答-------------------- <script>
var wsh = new ActiveXObject("WScript.Shell");
wsh.sendKeys("{F11}")
</script> --------------------编程问答-------------------- 变态的需求
--------------------编程问答-------------------- 牛逼啦这就..................关注 --------------------编程问答-------------------- 很新奇的东东 关注 哈哈 --------------------编程问答-------------------- javascript是不可能实现权限这么高的屏蔽的,我现在已经实现了这个功能,但还有bug --------------------编程问答-------------------- 我想知道是怎么实现的,贴出来呗 --------------------编程问答-------------------- 做个activex控件实现,而且要判断浏览器类型,遇到非IE不能让用户登录 --------------------编程问答-------------------- 你的客户是不是做梦以为这种东西只要搁在互联网上,全世界人民都会中招?
谁会? --------------------编程问答-------------------- 谁会去使用一个对流氓网站不做警告的浏览器。 --------------------编程问答-------------------- ............脑子有毛病? --------------------编程问答-------------------- 我希望你们文明点,我是希望您们给我好建议。我不知道谁会不会,我是勉强地满足需求了,我做出来了。 --------------------编程问答--------------------
--------------------编程问答-------------------- 我也得做个差不多的
struct KBDLLHOOKSTRUCT
{
public int vkCode, scanCode, flags, time, dwExtraInfo;
}
delegate int LowLevelKeyboardProc(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);
[DllImport("User32.dll")] static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32.dll")] static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
[DllImport("user32")] static extern int SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, int hMod, int dwThreadId);
[DllImport("user32")] static extern int UnhookWindowsHookEx(int hHook);
[DllImport("user32")] static extern int CallNextHookEx(int hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);
public static int intLLKey;
private void Form1_Load(object sender, EventArgs e)
{
// 窗口最大化全屏显示
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
// 隐藏任务栏
IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
ShowWindow(trayHwnd, 0);
// 禁用任务管理器
RegistryKey regkey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
regkey.SetValue("DisableTaskMgr", 1, RegistryValueKind.DWord);
regkey.Close();
// 禁用windows热键
intLLKey = SetWindowsHookEx(13, DisableHotkeys, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]).ToInt32(), 0);
}
int DisableHotkeys(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam)
{
bool blnEat = false;
switch (wParam)
{
case 256:
case 257:
case 260:
case 261:
//Alt+Tab, Alt+Esc, Ctrl+Esc, Windows Key,
blnEat = ((lParam.vkCode == 9) && (lParam.flags == 32)) |
((lParam.vkCode == 27) && (lParam.flags == 32)) |
((lParam.vkCode == 27) && (lParam.flags == 0)) |
((lParam.vkCode == 91) && (lParam.flags == 1)) |
((lParam.vkCode == 92) && (lParam.flags == 1)) |
((lParam.vkCode == 73) && (lParam.flags == 0));
break;
}
if (blnEat == true)
{
return 1;
}
else
{
return CallNextHookEx(0, nCode, wParam, ref lParam);
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
ShowWindow(trayHwnd, 1);
RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
regkey.DeleteValue("DisableTaskMgr");
regkey.Close();
UnhookWindowsHookEx(intLLKey);
}
是个考试系统
开始考试的时候不能用键盘
浏览器上的最大化最小化关闭也不能按
只能选择下一题一直到做完
有这种例子吗 --------------------编程问答--------------------
........我的意思是客户,没说LZ你! --------------------编程问答--------------------
恩对嘛 --------------------编程问答-------------------- 现在的人都疯了!
你怎么就知道人家一定做的是流氓软件!
难道这种功能只能用在流氓软件上面!
看看是不是自己的心太狭隘,太邪恶了吧
有人说自己的心是清澈的,看到的东西就都是美好的! --------------------编程问答-------------------- JS哪里来的这么高的访问权限啊?
ASP.NET也没有这么高的权限吧。
基本是不可能的。 这岂不是谁访问谁中招啊。
这个玩意只能用WinForm做 --------------------编程问答-------------------- WINFORM里面嵌套一个WebBrowser.
运行时,将该WINFORM最大化,置顶.
然后在该WINFORM程式中使用全局钩子,屏蔽键盘上的热键,任务栏,开始菜单.
再使用修改注册表的方法简单的屏蔽任务管理器,登录/登出.关机/注销等功能菜单.
--------------------编程问答-------------------- --------------------编程问答-------------------- event.returnValue = false 对那个windows键不起作用阿
if(event.keyCode==91)//windows
{
event.keyCode=0;
event.returnValue=false;
}
没有用怎莫办? --------------------编程问答-------------------- 无敌...
补充:.NET技术 , ASP.NET