楼主: 菩提祖师
收起左侧

[已解决] 有两个问题,不想多开贴,集成到一个帖子问了.

 关闭 [复制链接]
菩提祖师
 楼主| 发表于 2012-10-3 07:42:09 | 显示全部楼层
随便注册 发表于 2012-10-3 00:42
删到回收站起码要看看回收站有没有足够空间吧
快速关机有个注册表,不理会程序响应的,还有说建快捷方式的 ...

我的回收站是有足够空间的.

注册表那个快速关机貌似只是不理会程序响应,但是并不是黑屏强制关机,而是类似于直接结束系统中正在运行的所有进程,以此来达到快速关机的目的.
菩提祖师
 楼主| 发表于 2012-10-3 07:42:44 | 显示全部楼层
xzhlksh 发表于 2012-10-3 02:03
强制黑屏关机对电脑系统和硬件都是有损伤了,平时不建议使用
没记错的话,shutdown命令把延时设置为零,效 ...

shutdown的延时貌似仅仅只是延时,就相当于对普通关机做一个倒计时一样,不是黑屏关机.
yloko
发表于 2012-10-3 11:08:13 | 显示全部楼层
菩提祖师 发表于 2012-10-3 07:40
原来如此,看来像关闭屏幕一样,windows是不自带这种exe命令的了

2012年10月3日7:43:06补充:

你可以偿试用VC  或VB写一个ntshutdownsystem()函数的EXE试试...然后用VBS运行它
随便注册
发表于 2012-10-3 11:35:08 | 显示全部楼层
菩提祖师 发表于 2012-10-3 07:42
我的回收站是有足够空间的.

注册表那个快速关机貌似只是不理会程序响应,但是并不是黑屏强制关机,而是类 ...

我是说那几秒钟的延迟可能就是用来判断这个的,另外回收站里可以保存同一路径下的同名文件,这也需要时间处理吧,然后发现删不掉才出错误提示,纯猜测

评分

参与人数 1经验 +5 收起 理由
冬天不冷梦 + 5 感谢解答: )

查看全部评分

菩提祖师
 楼主| 发表于 2012-10-3 14:16:21 | 显示全部楼层
本帖最后由 菩提祖师 于 2012-10-3 15:07 编辑
yloko 发表于 2012-10-3 11:08
你可以偿试用VC  或VB写一个ntshutdownsystem()函数的EXE试试...然后用VBS运行它


那VBS行不行的呢?就寻思着尽量利用系统自带的功能实现,VBS引擎是自带的

2012年10月3日15:07:13补充:

找不到这个函数的头文件.
yloko
发表于 2012-10-3 19:34:39 | 显示全部楼层
菩提祖师 发表于 2012-10-3 14:16
那VBS行不行的呢?就寻思着尽量利用系统自带的功能实现,VBS引擎是自带的

2012年10月3日15:07:13补充: ...

怎么说呢,VBS的大部份功能都是靠外部命令来执行的(还有一份部是系统自带),只要你有相应功能的外部EXE,VBS就能执行它。。。。。应该是这么理解的吧,,,


另外,找不到函数?

搜了一下:NtShutdownSystem


http://baike.baidu.com/view/6813993.htm
  1. 使用方法

  2.   VB
  3.   Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
  4.   Const shutdown& = 0
  5.   Const RESTART& = 1
  6.   Const POWEROFF& = 2
  7.   VC
  8.   const int SE_SHUTDOWN_PRIVILEGE = 0x13;
  9.   typedef int (__stdcall *PFN_RtlAdjustPrivilege)( INT, BOOL, BOOL, INT*);
  10.   typedef int (__stdcall *PFN_ZwShutdownSystem)(INT);
  11.   HMODULE hModule = ::LoadLibrary(_T("ntdll.dll"));
  12.   if( hModule != NULL)
  13.   { PFN_RtlAdjustPrivilege pfnRtl = (PFN_RtlAdjustPrivilege)GetProcAddress( hModule, "RtlAdjustPrivilege"); PFN_ZwShutdownSystem pfnShutdown = (PFN_ZwShutdownSystem)GetProcAddress( hModule,"ZwShutdownSystem");
  14.   if( pfnRtl != NULL & pfnShutdown != NULL )
  15.   {
  16.   int en = 0;
  17.   int nRet= pfnRtl( SE_SHUTDOWN_PRIVILEGE, TRUE, TRUE, &en);
  18.   if( nRet == 0x0C000007C ) nRet = pfnRtl(SE_SHUTDOWN_PRIVILEGE, TRUE, FALSE, &en); //SH_SHUTDOWN = 0; //SH_RESTART = 1; //SH_POWEROFF = 2;
  19.   const int SH_POWEROFF = 2; nRet = pfnShutdown(POWEROFF);
  20.   }
  21.   }
复制代码

评分

参与人数 1经验 +6 收起 理由
woxihuan2011 + 6 感谢解答: )

查看全部评分

菩提祖师
 楼主| 发表于 2012-10-3 20:50:07 | 显示全部楼层
yloko 发表于 2012-10-3 19:34
怎么说呢,VBS的大部份功能都是靠外部命令来执行的(还有一份部是系统自带),只要你有相应功能的外部EXE ...

意思是vbs不能像vb那样调用API吗?

百度百科VC那个,有点看不懂,头文件在哪?包含什么头文件
yloko
发表于 2012-10-3 20:53:58 | 显示全部楼层
菩提祖师 发表于 2012-10-3 20:50
意思是vbs不能像vb那样调用API吗?

百度百科VC那个,有点看不懂,头文件在哪?包含什么头文件


好像不行吧。。。。。类型不一样,,应该没那个功能吧。。。。。

VC具体怎么搞我也没清楚,没仔细去究真,,大至看了一下,好像是先申明NtShutdownSystem()吧,或者你看一下NtShutdownSystem的自述吧,

具体,你去VC的BBS相关里面问问,,,我也不知道,,
hohai
发表于 2012-10-3 21:41:27 | 显示全部楼层
搜索到了这个:ctrl+shift+end组合键--可以执行快速关机

关机的时候试试…

评分

参与人数 1经验 +3 收起 理由
woxihuan2011 + 3 感谢解答: )

查看全部评分

菩提祖师
 楼主| 发表于 2012-10-3 22:02:06 | 显示全部楼层
hohai 发表于 2012-10-3 21:41
搜索到了这个:ctrl+shift+end组合键--可以执行快速关机

关机的时候试试…

我表示我这里按下之后没有反应.
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-4-6 01:50 , Processed in 0.089387 second(s), 4 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表