阅读:1988回复:19
各位高手请问如何给Windows 98 一个信号,让它自动重启动?¥30
如题
|
|
沙发#
发布于:2002-03-21 19:33
应用层么??很容易呀:)
|
|
|
板凳#
发布于:2002-03-21 19:39
ExitWindowsEx( EWX_REBOOT,0 );
|
|
|
地板#
发布于:2002-03-21 19:44
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2002-03-21 19:47
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2002-03-21 19:54
我就是问的应用层,用VISUAL C++编程,我很菜的,今天我要走了,明天等我验证后在给分,各位网友晚安。
|
|
6楼#
发布于:2002-03-21 19:58
Windows API函数ExitWindowsEx( EWX_REBOOT,0 );MSDN里面有详细的讲解。
WIN2k下面代码: OSVERSIONINFO osv; osv.dwOSVersionInfoSize=sizeof OSVERSIONINFO; GetVersionEx(&osv); if(osv.dwPlatformId==VER_PLATFORM_WIN32_NT) { HANDLE hProcess,hToken; TOKEN_PRIVILEGES Privileges; LUID luid; hProcess=GetCurrentProcess(); OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken); Privileges.PrivilegeCount=1; LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid); Privileges.Privileges[0].Luid=luid; Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,&Privileges,NULL,NULL,NULL); } ExitWindowsEx(EWX_POWEROFF,0); 祝你成功! |
|
|
7楼#
发布于:2002-03-21 20:10
楼上的我在一本书上看到过,你的代码好像还少的吧!
应该还要还原用户令牌吧? |
|
|
8楼#
发布于:2002-03-22 09:15
楼上的我在一本书上看到过,你的代码好像还少的吧! 需要用户令牌是在NT的环境下! |
|
|
9楼#
发布于:2002-03-22 11:25
谢谢各位的帮助
|
|
10楼#
发布于:2002-03-22 11:36
Owen.Guo:
错了。我原来想给你¥13的,给错了,去疯狂灌水区的相关贴子跟帖给你补¥10 |
|
11楼#
发布于:2002-03-22 11:39
如果在这个问题上再深一层加上这么一个问题:
在系统退出的时候,检测系统中所有的打开的而又未保存的文件,将其保存,再执行ExitWindwosEx(UINT,DWORD)。这个问题不知哪位兄弟有解决方案。否则的话,系统就会弹出\"Have not save the modified file! save it ? Yes ? No ? Cancel ?\"的对话框,机器就停了,除非你在ExitWindows的参数中加上如下设定强行关机才行。我可当了n个自动关机的程序,都没有实现这一个功能,由此可见其实现难度啊!!! ...... ExitWindows(EWX_POWEROFF|EWX_FORCEIFHUNG,0L); ...... 欢迎大家继续探讨。 |
|
|
12楼#
发布于:2002-03-22 12:15
老兄真的给分了,谢谢了 :D
[编辑 - 3/22/02 作者: Lov1999] |
|
|
13楼#
发布于:2002-03-22 20:00
帮助别人就是在帮助自己,交流、沟通提升自我!请回答问题尽可能的详尽,请前面的朋友讲的更详细一点,好吧!多谢!
|
|
|
14楼#
发布于:2002-03-23 10:01
帮助别人就是在帮助自己,交流、沟通提升自我!请回答问题尽可能的详尽,请前面的朋友讲的更详细一点,好吧!多谢! 还要怎么详细?至少在98下那一个函数就够用了,不是吗? 回答问题不一定要长篇大论,只要能回答明白,哪怕几个字也是好的,也能解决问题的 |
|
|
15楼#
发布于:2002-03-25 17:33
在VXD程序中执行以下语句,则不管有没有未保存文件,直接重启动
mov eax, Reboot_Processor VMMcall (System_Control) |
|
16楼#
发布于:2002-03-25 17:52
如果仅仅是要重新启动,根本用不着VXD,不管当前有没有未保存的文件。然而我想做的是如果当前系统中有未保存的文件,则保存之再关机,这个问题一直困挠了我很久。
|
|
|
17楼#
发布于:2002-03-25 21:50
to Tom_lyd:
你说的冲启自动保存吗? |
|
|
18楼#
发布于:2002-03-26 08:48
对,我想知道在退出过程中如何处理未保存的文件弹出的\"保存询问\"对话框和可能出现的\"询问是否覆盖\"对话框(当相同的文件名的文件已经存在时)。我曾试图HOOK WM_QUERYENDSESSION 消息,然后模拟击键;试过找到文件句柄,给它发送消息,都没有成功。并且我在网上当了很多个自动关机程序,都没有实现这一功能。
|
|
|
19楼#
发布于:2002-03-26 12:52
你想的我知道哪。
哪可要对方的软件支持,如果程序不响应WM_QUERYENDSESSION这个消息你也没法,除非你接管WINPROC给它硬加一个,但另一个问题是你不知道到每个程序的存储过程呀!我想唯一好的的办法是给没个都发WM_COLSE消息让他的程序自己弹出保存框,这对守规矩的程序还好 但。。。 本人能力有限只能回答这了。 |
|
|