Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: ExitWindowEx tại sao không thể tắt được máy

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Thumbs down ExitWindowEx tại sao không thể tắt được máy

    Code:
    #include<windows.h>
    int main()
    {
        ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);
        return 0;
    }
    mình làm đúng theo MSDN mà sao không thể tắt được máy
    kể cả APIGUIDE nó cũng thế này
    Code:
    'In general section
    Const EWX_LOGOFF = 0
    Const EWX_SHUTDOWN = 1
    Const EWX_REBOOT = 2
    Const EWX_FORCE = 4
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
    Private Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: KPDTeam@Allapi.net
        msg = MsgBox("This program is going to reboot your computer. Press OK to continue or Cancel to stop.", vbCritical + vbOKCancel + 256, App.Title)
        If msg = vbCancel Then End
        'reboot the computer
        ret& = ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, 0)
    End Sub
    nmhưng không tắy được máy
    Đã được chỉnh sửa lần cuối bởi Cpro : 21-01-2009 lúc 10:03 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn phải có đặc quyền tắt máy mới được. Hình như trên 4rum có code minh họa cách set đặc quyền tắt máy đó. Bạn kiếm thử xem.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    set quyền tắt máy về làng đây
    Code:
    #include<windows.h>
    bool MyExitWindowEx()
    {
    	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)NULL,0);
        ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0);
    	return true;
    }
    int main()
    {
    	MyExitWindowEx();
        return 0;
    }

  4. #4
    Ngày gia nhập
    11 2008
    Bài viết
    18

    Chỉ code đơn giản thế này thui nè bạn
    Code:
    #include <windows.h>
    
    int main()
    {
         ExitWindowsEx(EWX_LOGOFF, 0);
         return 0;
    }
    code trên mình set theo LOGOFF bạn có thể thay shutdown,reboot... tuỳ

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    code trên mình set theo LOGOFF bạn có thể thay shutdown,reboot... tuỳ
    không được đâu cậu ơi,cậu không đặt quyền thì không tắt máy được đâu,chỉ logoff được thôi

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định ExitWindowEx tại sao không thể tắt được máy

    Mình đang tìm cái Switch User như trong WindowXP nhưng không có ???,không biết ai có cách nào không nhỉ ^^!
    Đã được chỉnh sửa lần cuối bởi AlexF : 25-02-2009 lúc 04:03 PM.

Các đề tài tương tự

  1. ExitWindowEx tại sao không thể tắt được máy
    Gửi bởi Cpro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 5
    Bài viết cuối: 25-02-2009, 04:01 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn