2 qq 37050928 qq_37050928 于 2017.09.19 17:12 提问

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个回答

caozhy
caozhy   Ds   Rxr 2017.09.19 17:51

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

qq_37050928
qq_37050928 您好,这个措意有什么方式能捕捉到吗?
2 个月之前 回复
qq_37050928
qq_37050928 有用到,这个软件是一直在和硬件串口通讯的,会不断的接受串口的数据,然后刷新到界面上
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片