社区
VB
帖子详情
想实现API函数ExitWindowsEx的功能,使用.NET framework提供的东东怎样去解决?(内空)
RongX
2002-07-17 04:30:38
如标题
...全文
69
2
打赏
收藏
想实现API函数ExitWindowsEx的功能,使用.NET framework提供的东东怎样去解决?(内空)
如标题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GuoKing
2002-07-18
打赏
举报
回复
好复杂!!!
freesoul_ms
2002-07-17
打赏
举报
回复
感谢您使用微软产品。
您可以使用Win32 API直接调用AdjustTokenPrivileges和ExitWindowsEx:
using System.Runtime.InteropServices;
//以下代码添加到类声明的后面:
[StructLayout(LayoutKind.Sequential, Pack=1)]
internal struct TokPriv1Luid
{
public int Count;
public long Luid;
public int Attr;
}
[DllImport("kernel32.dll", ExactSpelling=true) ]
internal static extern IntPtr GetCurrentProcess();
[DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true) ]
internal static extern bool OpenProcessToken( IntPtr h, int acc, ref IntPtr phtok );
[DllImport("advapi32.dll", SetLastError=true) ]
internal static extern bool LookupPrivilegeValue( string host, string name, ref long pluid );
[DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true) ]
internal static extern bool AdjustTokenPrivileges( IntPtr htok, bool disall,
ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen );
[DllImport("user32.dll", ExactSpelling=true, SetLastError=true) ]
internal static extern bool ExitWindowsEx( int flg, int rea );
internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
internal const int TOKEN_QUERY = 0x00000008;
internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";
internal const int EWX_LOGOFF = 0x00000000;
internal const int EWX_SHUTDOWN = 0x00000001;
internal const int EWX_REBOOT = 0x00000002;
internal const int EWX_FORCE = 0x00000004;
internal const int EWX_POWEROFF = 0x00000008;
internal const int EWX_FORCEIFHUNG = 0x00000010;
private void DoExitWin( int flg )
{
bool ok;
TokPriv1Luid tp;
IntPtr hproc = GetCurrentProcess();
IntPtr htok = IntPtr.Zero;
ok = OpenProcessToken( hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok );
tp.Count = 1;
tp.Luid = 0;
tp.Attr = SE_PRIVILEGE_ENABLED;
ok = LookupPrivilegeValue( null, SE_SHUTDOWN_NAME, ref tp.Luid );
ok = AdjustTokenPrivileges( htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero );
ok = ExitWindowsEx( flg, 0 );
}
使用方法:
DoExitWin( EWX_POWEROFF );
希望能对您有所帮助!
======================
- 微软全球技术中心
本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能
带来的风险。具体事项可参见使用条
款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调
查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))
。
======================
跨平台IC卡社保信息读取工具:JS脚本
实现
本文还有配套的精品资源,点击获取 简介:这是一个专门用于读取社保IC卡信息的软件工具,采用了JavaScript脚本处理读卡指令,具备与多种读卡器硬件的兼容性。C#编写的应用界面为用户
提供
了一个直观高效的交互体验。工具能够读取包括姓名、身份证号、社保账号等关键个人信息,支持社会保障领域的日常操作和管理。 1. IC卡社保信息读取 在当今数字化时代,社会保障体...
IC卡读卡器开发避坑指南:从OCX到Node.js的平滑迁移方案
本文详细介绍了IC卡读卡器开发从OCX到Node.js的平滑迁移方案,涵盖五种技术路径,包括渐进式改造、全栈现代化、纯Web方案、混合开发和微服务架构。特别针对现代浏览器兼容性问题,
提供
了实用的代码示例和优化技巧,帮助开发者高效完成技术升级。
华大多
功能
四合一HD-100多
功能
智能卡读写器OCX插件配置
使用
教程
华大多
功能
四合一HD-100多
功能
智能卡读写器配置
使用
教程一、简介二、配置
使用
三、代码分享 一、简介 华大HD-100多
功能
智能卡读写器作为IC卡系统集成必备的前端处理设备,极大地提高了系统的安全性和应用的方便性,能更加优秀的服务于卫生、社保、二代证查询、工商、电信、邮政、税务、银行、保险、医疗以及各种收费、储值、查询等智能卡管理应用行业。 1.HD-100有几种不同配置,
功能
分别如下: 四合一:身份证、社保卡、磁条卡、就诊卡 (此次教程叫的就是四合一) 三合一:社保卡、磁条卡、就诊卡 2.华大HD-100
身份证阅读器web开发示例,支持JS/H5、React、Vue.js、jQuery、Node.js、AngularJS、TypeScript、Electron、JSP、PHP、ASP等语言开发
1、最新适配支持了
windows
、Linux、安卓、国产系统(麒麟、统信)四大系统网页开发。3、支持身份证、社保卡、IC卡、银行卡、磁条卡等市场上常见卡类型读取识别。2、支持四种身份证类型读取。4、免驱安装,即插即用。
身份证阅读器uni-app安卓开发示例
项目Uniapp采用Vue.js框架,调用了身份证阅读器的库文件:DonseeDeviceLib-debug.aar,该库放到nativeplugins\donsee-card\android,然后会自动加载。SDK会自动检查是否拥有USB设备权限,如没有权限,会自动进行申请,如果您的安卓设备是定制设备,遇到找不到设备时,请询问设备定制方是否开放了USB接口的系统层权限。支持产品型号:EST-100、EST-100R、EST-J13X、EST-100M(HID)等机型。
VB
16,718
社区成员
110,521
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章