请教,如何做一个控制台程序,在关机时执行一些操作。

cow_boys 2004-12-03 04:05:00
如题。
如何捕获关机事件。??
...全文
191 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cow_boys 2004-12-11
  • 打赏
  • 举报
回复
up
cow_boys 2004-12-04
  • 打赏
  • 举报
回复
这样也不行。替代不了。
bobob 2004-12-04
  • 打赏
  • 举报
回复
嘿嘿~那你就写一个替代的服务,名字要一样,先删除文件,然后再调用原来的服务
cow_boys 2004-12-04
  • 打赏
  • 举报
回复
大的。那个程序是服务运行。不可能在他前面删除。
bobob 2004-12-04
  • 打赏
  • 举报
回复
着一次关机和下一次开机删除的分别不是很大啊?
cow_boys 2004-12-04
  • 打赏
  • 举报
回复
不一样的。那个文件是运行某一个程序生成的。
noneone 2004-12-04
  • 打赏
  • 举报
回复
和在开机时删除好像效果相同
cow_boys 2004-12-04
  • 打赏
  • 举报
回复
我不想这么做。
oyljerry 2004-12-03
  • 打赏
  • 举报
回复
可以写一个有窗口的exe啊,只不过把窗口隐藏就好了,SW_HIDE
oyljerry 2004-12-03
  • 打赏
  • 举报
回复
WinMain用win32 application
cow_boys 2004-12-03
  • 打赏
  • 举报
回复
其实我只是想写一个没有窗口的程序。
在开机运行。在关机时把c:\temp.dat删除。就是这么简单。
cow_boys 2004-12-03
  • 打赏
  • 举报
回复
编译不了。
cow_boys 2004-12-03
  • 打赏
  • 举报
回复
我写成这样
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
MSG msg;
while GetMessage(msg,0,0)
{
TranslateMessage();
DispathMessage();
}
return 0;
}
运行出错了。
lzzqqq 2004-12-03
  • 打赏
  • 举报
回复
控制台程序怎么了?
控制台程序里面有消息循环是很正常的事啊。也能弹出对话框。
main()
{
MSG msg;
while GetMessage(msg,0,0)
{
TranslateMessage();
DispathMessage();
}
}
ayanamiwww 2004-12-03
  • 打赏
  • 举报
回复
肯定用hook吧
张佩 2004-12-03
  • 打赏
  • 举报
回复
WM_QUERYENDSESSION?它是控制台程序哎,不是MFC或Win32啊。
ncucf 2004-12-03
  • 打赏
  • 举报
回复
不知道
但是AbortSystemShutdown函数,也许对你有点用!
aoosang 2004-12-03
  • 打赏
  • 举报
回复
截获关机消息可安装系统钩子(Hook)。
关机消息为WM_QUERYENDSESSION

16,548

社区成员

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

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

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