以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- beforecloseproject事件请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79573) |
-- 作者:ljh29206 -- 发布时间:2016/1/5 11:10:00 -- beforecloseproject事件请教 我想在平时 禁止 用户关闭系统 只有在执行关机命令的时候才可以关闭。 这个关机命令的判断 怎么写呢? 判断是否进行执行了关机操作
[此贴子已经被作者于2016/1/5 11:19:27编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/1/5 11:17:00 -- 执行关机命令,beforecloseproject根本就不能控制禁止关闭。 |
-- 作者:大红袍 -- 发布时间:2016/1/5 11:19:00 -- 你手动关闭的话,就赋值 vars("手动关闭") = true
如果是其它触发关闭的时候,就允许其关闭呗 |
-- 作者:ljh29206 -- 发布时间:2016/1/5 11:20:00 -- 但像点击右上角的X 的时候 怎么设置? [此贴子已经被作者于2016/1/5 11:21:37编辑过]
|
-- 作者:ljh29206 -- 发布时间:2016/1/5 12:01:00 -- 袍哥,能否禁止 左上角 的X ,保留最小化 , 关机的时候才关闭系统? 我的想法是判断关机的动作,才触发关闭, 再 beforecloseproject事件里面禁止了。
|
-- 作者:大红袍 -- 发布时间:2016/1/5 12:01:00 -- 全局代码
Public Const SC_CLOSE As Integer = &Hf060 <DllImport("user32.dll", EntryPoint := "GetSystemMenu")> _ <DllImport("User32.dll")> _
调用代码
Dim hMenu As IntPtr = GetSystemMenu(basemainform.Handle, 0) |
-- 作者:大红袍 -- 发布时间:2016/1/5 12:24:00 -- 测试了一下,阻止关机的代码好像无效。你可以自己测试一下
http://blog.csdn.net/testcs_dn/article/details/42365381
[此贴子已经被作者于2016/1/5 12:25:29编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/1/5 12:31:00 -- 哦,是系统的问题
这些都是默认值,可能你装的是别人做的系统给改掉了。特别是第一个,改成1系统关机不会给你的程序发消息。
-------------------------------------
全局代码
\'当用户试图注销或关闭系统时发生.
调用代码
addhandler Microsoft.Win32.SystemEvents.SessionEnding, addressof SystemEvents_SessionEnding |