Board logo

标题: [原创]用程序调用Alt+F4关机 [打印本页]

作者: 无条件为你    时间: 2006-3-24 16:40     标题: [原创]用程序调用Alt+F4关机

[这个贴子最后由无条件为你在 2006/03/24 06:55pm 第 2 次编辑]

    有人喜欢用ExitWindowsEx()函数来关机,还要提升权限什么的,好像兼容性也不是太好。也有人用WinExec("Shutdown.exe -s -t 0",SW_HIDE);关机,但在 Windows 98以下版本的操作系统中是不管用的吧?其实有一种非常简单的方法。就是用程序调用Alt+F4关机,在任何操作系统下都可以使用!
程序核心代码如下:

//执行Ctrl+ESC,其目的是为了让开始菜单获取焦点,否则Alt+F4只能关闭窗口而不能关机。
keybd_event(17,0,0,0);//按下Ctrl键不放!
keybd_event(27,0,0,0);//执行ESC键。
keybd_event(17,0,KEYEVENTF_KEYUP,0);//松开Ctrl键
//执行Alt+F4
Sleep(300);
keybd_event(18,0,0,0);//按下Alt键不放!
keybd_event(115,0,0,0);//执行F4键
keybd_event(18,0,KEYEVENTF_KEYUP,0);//松开Alt键
Sleep(1300);//等待1.3秒,因为计算机在调用关机对话框需要一点时间。
keybd_event(85,0,0,0);
keybd_event(13,0,0,0);//执行回车键。
作者: 无条件为你    时间: 2006-3-24 18:09     标题: [原创]用程序调用Alt+F4关机

就是反复用了一个模拟按键的函数,我想任何人都可以学会!
程序虽然简单的要死,但主要的是事先要有这个编程思想。
作者: kkting    时间: 2006-3-24 18:22     标题: [原创]用程序调用Alt+F4关机

不错,思路很好!
希望楼主以后还要多多发表这样的原创帖子!
作者: 无条件为你    时间: 2006-3-24 18:33     标题: [原创]用程序调用Alt+F4关机

    我将成生的EXE放到论坛上,方便在网吧上网的朋友在没有安装C++的情况下进行试验。
    文件压缩后只有2K多一点,下载速度应该不会慢。如果我要不指定EXE文件的图标的话,文件会更小一些。
    由于是直接关机,没有提示,有兴趣的朋友不妨在源码前加入MessageBox()弹出对话框进行确认,再执行关机。
感谢楼上的朋友回复我的贴子。我的水平有限,论坛新手,欢迎指导!
作者: 默数悲伤    时间: 2006-3-24 18:53     标题: [原创]用程序调用Alt+F4关机

确实不错,思路很新!!!!
可以说各自有各自的优点,楼主的方法还是第一次看到呢,
希望楼主多发些原创哦:)

作者: kkting    时间: 2006-3-24 19:18     标题: [原创]用程序调用Alt+F4关机


来黑海的就是兄弟,大家多交流!
作者: 无条件为你    时间: 2006-3-24 20:39     标题: [原创]用程序调用Alt+F4关机

    我将成生的EXE放到论坛上,方便在网吧上网的朋友在没有安装C++的情况下进行试验。

作者: yhf3201    时间: 2006-4-5 15:56     标题: [原创]用程序调用Alt+F4关机

能把源程序上传上来吗
谢谢

作者: 无条件为你    时间: 2006-4-5 19:11     标题: [原创]用程序调用Alt+F4关机

源码在本贴一开始就已经公布了,EXE文件在7楼有下载。
源码就是反复用了一个模拟按键的函数,已经说的很明白了。难道楼上的朋友连基本的Win23程序的建立,以及程序的入口函数都不会写?




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2