vb.net منع ويندوز 11 من الاسبات - justforit - 15-11-25
السلام عليكم ورحمة الله و بركاته
سالت قوقل السؤال التالي:
إقتباس :vb.net منع ويندوز 11 من الاسبات او الاغلاق الا بعد اتمام عمل البرنامج
و قال لي:
كود :
Public Class MyForm
Public Sub PreventShutdown()
' منع الإسبات والإغلاق تلقائيًا
Application.CurrentCulture = New System.Globalization.CultureInfo("en-US")
Application.CurrentCulture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd HH:mm:ss"
Application.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd"
Application.CurrentCulture.DateTimeFormat.LongTimePattern = "yyyy-MM-dd HH:mm:ss"
Application.CurrentCulture.DateTimeFormat.ShortTimePattern = "yyyy-MM-dd HH:mm:ss"
Application.CurrentCulture.DateTimeFormat.TimeSeparator = ":"
Application.CurrentCulture.DateTimeFormat.DateSeparator = "-"
Application.CurrentCulture.DateTimeFormat.FullDateTimePattern = "yyyy-MM-dd HH:mm:ss"
Application.CurrentCulture.DateTimeFormat.AMDesignator = ""
Application.CurrentCulture.DateTimeFormat.PMDesignator = ""
End Sub
Public Sub AllowShutdown()
' السماح بالإسبات والإغلاق تلقائيًا
Application.CurrentCulture = New System.Globalization.CultureInfo("ar-SA")
End Sub
End Class
إقتباس :ملاحظات
يجب استدعاء PreventShutdown قبل أي عملية حساسة تتطلب منع الإسبات والإغلاق.
يجب استدعاء AllowShutdown بعد الانتهاء من العملية الحساسة.
مافهمت ايش دخل التاريخ ؟؟
اريد منع ويندوز من الاسبات او الاغلاق حتى يتم انهاء حلقة for لاني اريده ايضا ان يطفي الحاسوب بكود بسيط.
كود :
If okclose Then
My.Computer.FileSystem.WriteAllText(errorlogd, i & vbNewLine & Now & vbNewLine & "يتم التحضير لاغلاق الجهاز " & vbNewLine & "========================" & vbNewLine, True)
Shell("shutdown /s /f /t 0", AppWinStyle.Hide)
End If
RE: vb.net منع ويندوز 11 من الاسبات - أبو خالد الشكري - 16-11-25
وعليكم السلام ورحمة الله وبركاته
جرب الكود التالي :
كود :
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("kernel32.dll", SetLastError:=True)>
Private Shared Function SetThreadExecutionState(ByVal esFlags As EXECUTION_STATE) As EXECUTION_STATE
End Function
<Flags>
Private Enum EXECUTION_STATE As UInteger
ES_CONTINUOUS = &H80000000UI
ES_DISPLAY_REQUIRED = &H2
ES_SYSTEM_REQUIRED = &H1
End Enum
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'For هذا الزر الذي يحتوي على كود حلقة
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or
EXECUTION_STATE.ES_SYSTEM_REQUIRED Or
EXECUTION_STATE.ES_DISPLAY_REQUIRED)
'For ضع هنا كود حلقة
'=============================================
'=============================================
' أخيرا إعادة الإسبات لوضعه الطبيعي
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
End Sub
End Class
RE: vb.net منع ويندوز 11 من الاسبات - justforit - 16-11-25
(16-11-25, 12:04 AM)أبو خالد الشكري كتب : وعليكم السلام ورحمة الله وبركاته
جرب الكود التالي :
كود :
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("kernel32.dll", SetLastError:=True)>
Private Shared Function SetThreadExecutionState(ByVal esFlags As EXECUTION_STATE) As EXECUTION_STATE
End Function
<Flags>
Private Enum EXECUTION_STATE As UInteger
ES_CONTINUOUS = &H80000000UI
ES_DISPLAY_REQUIRED = &H2
ES_SYSTEM_REQUIRED = &H1
End Enum
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'For هذا الزر الذي يحتوي على كود حلقة
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or
EXECUTION_STATE.ES_SYSTEM_REQUIRED Or
EXECUTION_STATE.ES_DISPLAY_REQUIRED)
'For ضع هنا كود حلقة
'=============================================
'=============================================
' أخيرا إعادة الإسبات لوضعه الطبيعي
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
End Sub
End Class
شكر الله لك و بارك فيك
ان شاء الله ساجرب بالكود.
|