qq_37050928 2017-09-19 09:12 采纳率: 0%
浏览 817

winform软件调用系统API关机后,直接报错,求大神帮忙看下是什么问题?

软件上的关机按钮,掉用系统API。
点击按钮后,出现了如下图的错误,有大神知道一般是什么原因导致的吗,怎么操作可以解决或者避免报这个错啊?
点击关机按钮调用的方法:
public static void DoExitWin(int flg)
{
try
{
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);
}
catch (Exception ex)
{
IMSGlobal.IMSTrace("DoExitWin False : " + ex.Message);
}
}
图片说明

  • 写回答

1条回答

  • threenewbee 2017-09-19 09:51
    关注

    你有用到多线程么?或者在主窗口关闭后,你有代码还在访问它么

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大