请问如何用代码 打开 “关闭计算机”窗口(即点 开始->关闭计算机出来的哪个窗口)?up有分。

无敌魔仙 2004-11-04 05:08:44
最好能同时支持98和2K,如若分别实现也可以。高分相赠。
请不要用按键模拟的方式(即 先用程序模拟一个windows按键消息,然后在模拟一个U按键消息,或同时模拟两个按键同时按下也不可)。

up同样有分哦,^_^

谢谢。
...全文
220 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
imdg 2004-11-12
  • 打赏
  • 举报
回复
其实自己做一个这样的对话筐也不错啊
ExitWindowsEx函数用不同的参数就可以重起、关机或者注销
无敌魔仙 2004-11-05
  • 打赏
  • 举报
回复
原因是 不能提前释放hShell32,所以要去掉FreeLibrary(hShell32); 这一句,在2000里测试操作系统会提示详细的诊断信息
oyljerry 2004-11-04
  • 打赏
  • 举报
回复
我试了一下,也可以,不过怎么点击取消的时候,出现了内存访问错误的对话框?
无敌魔仙 2004-11-04
  • 打赏
  • 举报
回复
xp可以了,需要再98下测试,不过先给分吧
linxy2002 2004-11-04
  • 打赏
  • 举报
回复
同意topwork(日光)和kingzai()
就是调用系统DLL中的函数就可以了
hunter606 2004-11-04
  • 打赏
  • 举报
回复
mark
topwork 2004-11-04
  • 打赏
  • 举报
回复
下面代码可以产生你说的效果:

#include "stdafx.h"
#include "WINDOWS.H"

typedef LONG (WINAPI *PFNSHSHUTDOWNDIALOG)(long l);

int main(int argc, char* argv[])
{
BOOL bLoad = FALSE;
HMODULE hShell32 ;
hShell32 = GetModuleHandle("shell32.dll");
if(!hShell32)
{
hShell32 = LoadLibrary("shell32.dll");
if(hShell32)
{
bLoad = TRUE;
}
}
if(hShell32)
{
PFNSHSHUTDOWNDIALOG pFn = (PFNSHSHUTDOWNDIALOG)GetProcAddress(hShell32 , MAKEINTRESOURCE(60));

if(pFn)
{
pFn(0);
}
}
if(bLoad)
{
FreeLibrary(hShell32);
}

return 0;
}
kingzai 2004-11-04
  • 打赏
  • 举报
回复
//try this code ,i have not tested it
typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针
HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dll
SHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针
if(hInst != NULL)
{
//获得函数的地址并调用之
ShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60);
(*ShutDownDialog)(0);
}
无敌魔仙 2004-11-04
  • 打赏
  • 举报
回复
不好吧,^_^
Caps77 2004-11-04
  • 打赏
  • 举报
回复
可不可以自己模拟:显示器界面成灰色,窗口不能移动。。。
f26511314 2004-11-04
  • 打赏
  • 举报
回复
我知道,只是让你参考
oyljerry 2004-11-04
  • 打赏
  • 举报
回复
没用过,gz一下
无敌魔仙 2004-11-04
  • 打赏
  • 举报
回复
回 f26511314(我吃巧克力饼) ,我要的是打开哪个窗口,而不是要重启电脑 哦。
f26511314 2004-11-04
  • 打赏
  • 举报
回复
http://www.programfan.com/showarticle.asp?id=2528
无敌魔仙 2004-11-04
  • 打赏
  • 举报
回复
请问 DentistryDoctor(雅克医生<从今天起正式改行>) :如何用GINA实现?
lu1172101275 2004-11-04
  • 打赏
  • 举报
回复
没人提过,up!
无敌魔仙 2004-11-04
  • 打赏
  • 举报
回复
用shell应该可以实现,只是不只这个窗口对应的值
DentistryDoctor 2004-11-04
  • 打赏
  • 举报
回复
应该是通过GINA实现吧。
dropingleaf 2004-11-04
  • 打赏
  • 举报
回复
只能帮你up了
老夏Max 2004-11-04
  • 打赏
  • 举报
回复
关注一下!为什么要这样呢?
是不是可以有函数直接调出关机界面呢?
加载更多回复(3)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧