使用脚本调用系统的关机对话框实现代码
以前有介绍如何使用命令行调用系统的关机对话框:
具体方法:开始/运行:
代码如下:
rundll32.exe shell32.dll #60
但是,上述方法会存在一问题,XP下无法正常使用该方法进行关机(感谢网友沐烨 发现该问题)。问题原因可能是:正常情况下,关机对话框是有explorer.exe调用,直接使用rundll32调用时无法触发相关命令。
既然使用explorer.exe调用可以,我们可以尝试使用脚本来实现。实现原理:
激活explorer.exe
按ALT+F4
编写VBS脚本如下(将下述内容另存为shutdown.vbs):
代码如下:
Dim objWMI,wsh
Dim colProcesses,objProcess
pid=0
set objWMI = GetObject( "winmgmts:{impersonationLevel=impersonate}//. /root/cimv2" )
set colProcesses = objWMI.ExecQuery( "SELECT * FROM Win32_Process" & _
" WHERE Name='explorer.exe'" )
for Each objProcess In colProcesses
pid = objProcess.ProcessId
Next
set wsh = WScript.CreateObject("WScript.Shell")
wsh.AppActivate pid
wsh.sendKeys "%{F4}"
上述脚本运行环境为:XP SP2
其他环境也可能正常工作,不过对于有多个explorer.exe进程的系统,就可能不正常工作了,如开了远程终端服务的多用户环境下。
相关推荐
-
使用脚本调用系统的关机对话框实现代码
以前有介绍如何使用命令行调用系统的关机对话框: 具体方法:开始/运行: 复制代码 代码如下: rundll32.exe shell32.dll #60 但是,上述方法会存在一问题,XP下无法正常使用该方法进行关机(感谢网友沐烨 发现该问题).问题原因可能是:正常情况下,关机对话框是有explorer.exe调用,直接使用rundll32调用时无法触发相关命令. 既然使用explorer.exe调用可以,我们可以尝试使用脚本来实现.实现原理: 激活explorer.exe 按ALT+F4 编写VB
-
DCloud的native.js调用系统分享实例Android版代码
DCloud的Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术 Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成,今天为大家分享一下利用native.js如何调用系统分享功能的Android版实例代码 function share(shareTip,shareText){ //导入Java类对象 var Context = plus.android.importClass("android.c
-
Android如何调用系统相机拍照
本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下 /** * 调用系统相机 */ private void takePhoto() { Uri uri = null; if (which_image == FRONT_IMAGE) { frontFile = new File(getSDPath() +"/test/front_" + getDate() + ".jpg"); uri = Uri.fromFile(frontFi
-
python脚本设置系统时间的两种方法
本文为大家分享了两种python脚本设置系统时间的方法,供大家参考,具体内容如下 第一种方法,使用Python设置系统时间,即给系统校时 #电脑时间用了一段时间后,系统时间不准了,想更新一下 #在windows里面,更新系统时间,时常失败,而且速度很忙. #在网上拷贝的代码,发现很好用,比windows自带的实现要快. #-*- coding:utf-8 -*- import socket import struct import time import win32api TimeServer
-
Android调用系统图库获取图片的方法
本文实例为大家分享了Android调用系统图库获取图片的具体代码,供大家参考,具体内容如下 1.开发工具与关键技术:Eclipse.AndroidStudio2.撰写时间:2020年05月28日 在做移动开发相信很多人都会用到调用系统的图库获取图片吧,那么今天我跟大家讲讲如何调用系统的图库获取图片呢!由于本次的内容有点多,所以,分几个步骤吧!废话就不多说啦!避免浪费大家的时间,回归正题.请看代码 第一步:在build.gradle的文件下确保安卓版本是6.0以上(targetSdkVersion
-
iOS开发-调用系统相机和相册获取照片示例
前言:相信大家都知道大部分的app都是有我的模块的,而在我的模块基本都有用户的头像等信息,并且是可以更改头像的.那么今天小编给大家简单介绍一下iOS开发中如何调用系统相机拍照或者相册获取照片.要获取系统相机或者相册,我们需要使用到 UIImagePickerController 这个类.下面我们来看一下如何实现: 首先,需要遵循 UIImagePickerController 代理的两个协议: <UIImagePickerControllerDelegate, UINavigationContr
-
两种iOS调用系统发短信的方法
一.程序外调用系统发短信 这个方法其实很简单,直接调用openURL即可: NSURL *url = [NSURL URLWithString:@"sms://15888888888"]; [[UIApplication sharedApplication]openURL:url]; 二.程序内调用系统发短信 这种方法有一个好处就是用户发短信之后还可以回到App. 首先要导入MessageUI.framework,并引入头文件: #import <MessageUI/Messag
-
Python调用系统底层API播放wav文件的方法
本文实例讲述了Python调用系统底层API播放wav文件的方法.分享给大家供大家参考,具体如下: 这里未使用其他库,只是使用 pywin32 调用系统底层 API 播放 wav 文件. 具体代码如下: # Our raison d'etre - playing sounds import pywintypes import struct import win32event import win32com.directsound.directsound as ds import os WAV_H
-
C#调用系统API指定快捷键的方法
本文实例讲述了C#调用系统API指定快捷键的方法.分享给大家供大家参考.具体分析如下: 快捷键的作用大家都清楚,就是快捷嘛,操作起来方便.用电脑的人很少有没用过Ctrl + C 和Ctrl + V的. 其他很多软件也有各种快捷键.电脑自然没那么聪明,知道我们敲哪些键然后给出相应反应,这都得我们自己写代码实现啊.指定快捷键有两种方式. 方法一.当应用程序某个页面获得焦点时,直接写一个该页面的KeyDown事件处理函数就行,非常的简单.我们大多数时候就用的这种快捷键. 方法二.在任何时候都能使用快捷
-
Android 实现调用系统照相机拍照和录像的功能
本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig
随机推荐
- redis简介_动力节点Java学院整理
- Windows Server 2012 R2或2016无法安装.NET Framework 3.5.1的解决方法
- python爬虫入门教程--快速理解HTTP协议(一)
- JAVA hashCode使用方法详解
- Java多线程并发编程 并发三大要素
- php文字水印和php图片水印实现代码(二种加水印方法)
- WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
- 简介PHP的Yii框架中缓存的一些高级用法
- JSP 自定义标签实现数据字典的实例
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- Centos下IP与DNS设置方法详解
- 基于laravel制作APP接口(API)
- Javascript显示和隐藏ul列表的方法
- 操作系统安全防范简述:Linux篇
- jQuery实现TAB选项卡切换特效简单演示
- 为添加和删除程序提速的三种方法
- 遭遇www.investpoll.net病毒附手动删除方法
- 详解nginx使用ssl模块配置HTTPS支持
- 安卓(Android)开发之统计App启动时间
- Android开发笔记之:深入理解多线程AsyncTask