الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود اغلاق ويندوز xp

مغلق
بدأه محمد فضل في 16 مارس 2007 · 4 رد · 1,225 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
اقتباس
مساعدة عاجلة

ارجوا من خبراء الفيجول كود اغلاق ويندوز xp بسيط للأهمية أرجو الرد

تم تعديل هذه المشاركة بواسطة HnHn في 16 مارس 2007 في 18:02

رب ارحمهما كما ربياني صغيرا

#2

إليك هذا البرنامج ستجد فيه ماتريد بإذن الله

Windows_20Functions.zip

تم تعديل هذه المشاركة بواسطة شوق العلي في 16 مارس 2007 في 14:31

#3

جزاك الله خيرا ولقد حملت البرنامج وسأجربه

رب ارحمهما كما ربياني صغيرا

#4

الأخ الفاضل ...

راجع الموضوع: مطلوب كود لاغلاق واعادة تشغيل win XP يعمل على فجوال بيسك 6 ويكون مجرب

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#5

أستعمل الكود التالى بـ Module و الباقى هتلاقيه سهل بعون الله

'---------------------------------------------------------------------------------------
' Module	: PowerState
' DateTime  : 01/01/2007 12:34
' Author	: KPD Team , Modified by Mohammed Sayed.
'---------------------------------------------------------------------------------------

Option Explicit

Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
Private Const TOKEN_ADJUST_PRIVILEGES = &H20
Private Const TOKEN_QUERY = &H8
Private Const SE_PRIVILEGE_ENABLED = &H2
Private Const ANYSIZE_ARRAY = 1

Private Type LUID
	LowPart As Long
	HighPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
	pLuid As LUID
	Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
	PrivilegeCount As Long
	Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type

Public Enum PowerStates
	Hibernate
	LogOff
	Reboot
	Shutdown
	Standby
End Enum

Private Declare Function SetSystemPowerState Lib "kernel32" (ByVal fSuspend As Long, ByVal fForce As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Private Declare Function ExitWindowsEx Lib "user32.dll" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function GetVersion Lib "kernel32" () As Long

Private Declare Function IsPwrShutdownAllowed Lib "Powrprof.dll" () As Long
Private Declare Function IsPwrSuspendAllowed Lib "Powrprof.dll" () As Long
Private Declare Function IsPwrHibernateAllowed Lib "Powrprof.dll" () As Long

Private Function IsNT() As Boolean
If GetVersion() And &H80000000 Then
		IsNT = False
	Else
		IsNT = True
End If
End Function

Private Sub EnableShutDown()
Dim hProc As Long
Dim hToken As Long
Dim mLUID As LUID
Dim mPriv As TOKEN_PRIVILEGES
Dim mNewPriv As TOKEN_PRIVILEGES

hProc = GetCurrentProcess()
OpenProcessToken hProc, TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY, hToken
LookupPrivilegeValue "", "SeShutdownPrivilege", mLUID
mPriv.PrivilegeCount = 1
mPriv.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
mPriv.Privileges(0).pLuid = mLUID
AdjustTokenPrivileges hToken, False, mPriv, 4 + (12 * mPriv.PrivilegeCount), mNewPriv, 4 + (12 * mNewPriv.PrivilegeCount)
End Sub

Public Function PowerStateAllowed(State As PowerStates) As Boolean
Select Case State
	Case Hibernate
		PowerStateAllowed = CStr(CBool(IsPwrHibernateAllowed)): Exit Function
	Case LogOff
		PowerStateAllowed = CStr(CBool(IsPwrShutdownAllowed)): Exit Function
	Case Reboot
		PowerStateAllowed = CStr(CBool(IsPwrShutdownAllowed)): Exit Function
	Case Shutdown
		PowerStateAllowed = CStr(CBool(IsPwrShutdownAllowed)): Exit Function
	Case Standby
		PowerStateAllowed = CStr(CBool(IsPwrSuspendAllowed)): Exit Function
End Select
End Function

Public Sub SetPowerState(State As PowerStates, Forced As Boolean)
If State = LogOff Or State = Reboot Or State = Shutdown Then
	Dim Ret As Long, Flags As Long
End If

Select Case State
	Case Hibernate
		If IsNT = True Then EnableShutDown
		SetSystemPowerState False, Forced
	Case LogOff
		Flags = EWX_LOGOFF
		If Forced = True Then Flags = Flags + EWX_FORCE
		ExitWindowsEx Flags, 0
	Case Reboot
		If IsNT = True Then EnableShutDown
		Flags = EWX_REBOOT
		If Forced = True Then Flags = Flags + EWX_FORCE
		ExitWindowsEx Flags, 0
	Case Shutdown
		If IsNT = True Then EnableShutDown
		Flags = EWX_SHUTDOWN
		If Forced = True Then Flags = Flags + EWX_FORCE
		ExitWindowsEx Flags, 0
	Case Standby
		If IsNT = True Then EnableShutDown
		SetSystemPowerState True, Forced
End Select
End Sub

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…