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

كود القفل و اعادة التحميل

مغلق
بدأه Amr_Saafan في 15 أكتوبر 2005 · 6 رد · 837 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلاك عيلكم و رحمة الله و بركاته و كل عاك و انتم بخير

انى احتاج الى الكود الذى استطيع من خلاله قفل الويندوز و اعاده تحميله(Shut Down & Restart)

مثلا عندما اضغط على زر يقفل و على زر اخر يقوم باعادة التحميل

و شكرا...

Amr Elsayed

meshmesh40@hotmail.com

http://groups.yahoo.com/group/Developers_For_Ever

#2

اخي هناك موضوع لي في المنتدى وهو مكتبة اكواد ابحث عنه وحملها وسوف تجد فيها ما تريد إن شاء الله :)

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#3

يمكنك عمل ذلك بواسطه دوال api

وهذا تعريفها

' Constantالثوابت
Const SE_PRIVILEGE_ENABLED As Integer = &H2
Const TOKEN_QUERY As Integer = &H8
Const TOKEN_ADJUST_PRIVILEGES As Integer = &H20
Const SE_SHUTDOWN_NAME As String = "SeShutdownPrivilege"
' Exit Windows Constants
Const EWX_LOGOFF As Integer = &H0
Const EWX_SHUTDOWN As Integer = &H1
Const EWX_REBOOT As Integer = &H2
Const EWX_FORCE As Integer = &H4
Const EWX_POWEROFF As Integer = &H8
Const EWX_FORCEIFHUNG As Integer = &H10
'Structure
<StructLayout(LayoutKind.Sequential, Pack:=1)> _
Friend Structure Luid
   Public Count As Integer
   Public Luid As Long
   Public Attr As Integer
End Structure 'TokPriv1Luid
'تعريف الاجراءات
' Get Current Processes.  .
<DllImport("kernel32.dll", ExactSpelling:=True)> _
Function GetCurrentProcess() As IntPtr
End Function

' Open Process Token.  .
<DllImport("advapi32.dll", SetLastError:=True)> _
Function OpenProcessToken(ByVal h As IntPtr, ByVal acc As Integer, ByRef phtok As IntPtr) As Boolean
End Function

' Look up Priviledge Value.  .
<DllImport("advapi32.dll", SetLastError:=True)> _
Friend Function LookupPrivilegeValue(ByVal host As String, ByVal name As String, ByRef pluid As Long) As Boolean
End Function

' Adjust Token Priviledges.  .
<DllImport("advapi32.dll", ExactSpelling:=True, SetLastError:=True)> _
Friend Function AdjustTokenPrivileges(ByVal htok As IntPtr, ByVal disall As Boolean, ByRef newst As Luid, ByVal len As Integer, ByVal prev As IntPtr, ByVal relen As IntPtr) As Boolean
End Function

' Exit Windows  .
<DllImport("user32.dll", ExactSpelling:=True, SetLastError:=True)> _
Friend Function ExitWindowsEx(ByVal flg As Integer, ByVal rea As Integer) As Boolean
End Function


' Exit Windows Sub
Private Sub DoExitWindows(ByVal flg As Integer)
  Dim tp As Luid
  Dim hproc As IntPtr = GetCurrentProcess()
  Dim htok As IntPtr = IntPtr.Zero

  'Get a token for this process. 
  OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, htok)
  tp.Count = 1
  tp.Luid = 0
  tp.Attr = SE_PRIVILEGE_ENABLED

  'Get the LUID for the shutdown privilege.
   LookupPrivilegeValue(Nothing, SE_SHUTDOWN_NAME, tp.Luid)

   'Get the shutdown privilege for this process.
   AdjustTokenPrivileges(htok, False, tp, 0, IntPtr.Zero, IntPtr.Zero)

  'Exit Windows
  ExitWindowsEx(flg, 0)
End Sub

'استدعاء الاجراءات
' Shutdownاغلاق
DoExitWindows(EWX_SHUTDOWN)

' Restartاعادة تشغيل
DoExitWindows(EWX_REBOOT Or EWX_FORCE)

' Log offتسجيل الخروج
DoExitWindows(EWX_LOGOFF)

تم تعديل هذه المشاركة بواسطة SOLO.NET في 15 أكتوبر 2005 في 21:37

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4

الكود السابق يعمل على كل انظمة nt اما اذا كنت ستعمل فقط على انظمة windows 9x فهذا الكود يفى بالغرض

Const EWX_LogOff As Long = 0
       Const EWX_SHUTDOWN = 1
       Const EWX_REBOOT = 2
       Const EWX_FORCE = 4
       Private Declare Function ExitWindows _
               Lib "User32" Alias "ExitWindowsEx" _
               (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

اغلاق الجهاز

ExitWindows (EWX_SHUTDOWN, &HFFFFFFFF)

اعادة التشغيل

ExitWindows (EWX_REBOOT, &HFFFFFFFF)

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

السلام عليكم و رحمة الله

اشكر كل من ساهم في الاجابة الا انها مطولة و في رأي توجد طريقة اسهل و هي امر دوس

shutdown -s -t 0 من أجل ايقاف التشغيل و

shutdown -l لتسجيل الخروج و

shutdown -r لاعادة التشغيل

#6

كيف يمكن تنفيذ أوامر Dos

في دوت نت

وشكرا

#7

السلام عليكم و رحمة الله و بركاته

يمكن عن طريق shell

عمرو عيسي

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

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