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

أكواد لا تعمل ؟؟

مغلق
بدأه hamoody15 في 15 ديسمبر 2004 · 3 رد · 659 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا أول كود لا يعمل و أن عمل يرجى أعطائي الطريقة

' ÖÚ åÐÇ ÇáßæÏ Ýí ÇáÝæÑã

' Shutdown Flags
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const SE_PRIVILEGE_ENABLED = &H2
Const TokenPrivileges = 3
Const TOKEN_ASSIGN_PRIMARY = &H1
Const TOKEN_DUPLICATE = &H2
Const TOKEN_IMPERSONATE = &H4
Const TOKEN_QUERY = &H8
Const TOKEN_QUERY_SOURCE = &H10
Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_ADJUST_GROUPS = &H40
Const TOKEN_ADJUST_DEFAULT = &H80
Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege"
Const ANYSIZE_ARRAY = 1
Private Type LARGE_INTEGER
   lowpart As Long
   highpart As Long
End Type
Private Type Luid
   lowpart As Long
   highpart As Long
End Type
Private Type LUID_AND_ATTRIBUTES
   'pLuid As Luid
   pLuid As LARGE_INTEGER
   Attributes As Long
End Type
Private Type TOKEN_PRIVILEGES
   PrivilegeCount As Long
   Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) 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 GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LARGE_INTEGER) 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 GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long
Public Function InitiateShutdownMachine(ByVal Machine As String, Optional Force As Variant, Optional Restart As Variant, Optional AllowLocalShutdown As Variant, Optional Delay As Variant, Optional Message As Variant) As Boolean
   Dim hProc As Long
   Dim OldTokenStuff As TOKEN_PRIVILEGES
   Dim OldTokenStuffLen As Long
   Dim NewTokenStuff As TOKEN_PRIVILEGES
   Dim NewTokenStuffLen As Long
   Dim pSize As Long
   If IsMissing(Force) Then Force = False
   If IsMissing(Restart) Then Restart = True
   If IsMissing(AllowLocalShutdown) Then AllowLocalShutdown = False
   If IsMissing(Delay) Then Delay = 0
   If IsMissing(Message) Then Message = ""
   'Make sure the Machine-name doesn't start with '\'
   If InStr(Machine, "\\") = 1 Then
       Machine = Right(Machine, Len(Machine) - 2)
   End If
   'check if it's the local machine that's going to be shutdown
   If (LCase(GetMyMachineName) = LCase(Machine)) Then
       'may we shut this computer down?
       If AllowLocalShutdown = False Then Exit Function
       'open access token
       If OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) = 0 Then
           MsgBox "OpenProcessToken Error: " & GetLastError()
           Exit Function
       End If
       'retrieve the locally unique identifier to represent the Shutdown-privilege name
       If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, OldTokenStuff.Privileges(0).pLuid) = 0 Then
           MsgBox "LookupPrivilegeValue Error: " & GetLastError()
           Exit Function
       End If
       NewTokenStuff = OldTokenStuff
       NewTokenStuff.PrivilegeCount = 1
       NewTokenStuff.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
       NewTokenStuffLen = Len(NewTokenStuff)
       pSize = Len(NewTokenStuff)
       'Enable shutdown-privilege
       If AdjustTokenPrivileges(hProc, False, NewTokenStuff, NewTokenStuffLen, OldTokenStuff, OldTokenStuffLen) = 0 Then
           MsgBox "AdjustTokenPrivileges Error: " & GetLastError()
           Exit Function
       End If
       'initiate the system shutdown
       If InitiateSystemShutdown("\\" & Machine, Message, Delay, Force, Restart) = 0 Then
           Exit Function
       End If
       NewTokenStuff.Privileges(0).Attributes = 0
       'Disable shutdown-privilege
       If AdjustTokenPrivileges(hProc, False, NewTokenStuff, Len(NewTokenStuff), OldTokenStuff, Len(OldTokenStuff)) = 0 Then
           Exit Function
       End If
   Else
       'initiate the system shutdown
       If InitiateSystemShutdown("\\" & Machine, Message, Delay, Force, Restart) = 0 Then
           Exit Function
       End If
   End If
   InitiateShutdownMachine = True
End Function
Function GetMyMachineName() As String
   Dim sLen As Long
   'create a buffer
   GetMyMachineName = Space(100)
   sLen = 100
   'retrieve the computer name
   If GetComputerName(GetMyMachineName, sLen) Then
       GetMyMachineName = Left(GetMyMachineName, sLen)
   End If
End Function
Private Sub Form_Load()
   InitiateShutdownMachine GetMyMachineName, True, True, True, 60, "You initiated a system shutdown..."
End Sub


' åÐÇ ÇáßæÏ ãõÌÑÈ æíÚãá ÈÕæÑÉ ããÊÇÒÉ Úáì ÇáæíäÏæÒ ÅßÓ Èí
' ÅÐÇ æÇÌåÊß Ãí ãÔÇßá Ýí ÊäÝíÐå íãßäß ÇáÓÄÇá Úáì ÇáãæÞÚ ÇáÊÇáí
' http://www.al-ebda3.info/ib/index.php?showforum=18
' æÓÃßæä ÓÚíÏà ÌÏÇð ÈÇáÅÌÇÈÉ Úáì ÃÓÆáÊßã æÇÓÊÝÓÇÑÇÊßã æãÞÊÑÍÇÊßã ÈÎÕæÕ ÊØæíÑ åÐå ÇáäÓÎÉ
' ÃÎæßã: ÚÈÏ Çááå ÝÊÍí

هذا كود يخلي علامة البرنامج يم الساعة

'ÖÚ åÐÇ ÇáßæÏ Ýì ãæÏíæá

      Public Type NOTIFYICONDATA
       cbSize As Long
       hWnd As Long
       uId As Long
       uFlags As Long
       uCallBackMessage As Long
       hIcon As Long
       szTip As String * 64
      End Type

      Public Const NIM_ADD = &H0
      Public Const NIM_MODIFY = &H1
      Public Const NIM_DELETE = &H2
      Public Const NIF_MESSAGE = &H1
      Public Const NIF_ICON = &H2
      Public Const NIF_TIP = &H4
      Public Const WM_MOUSEMOVE = &H200
      Public Const WM_LBUTTONDOWN = &H201     'Button down
      Public Const WM_LBUTTONUP = &H202       'Button up
      Public Const WM_LBUTTONDBLCLK = &H203   'Double-click
      Public Const WM_RBUTTONDOWN = &H204     'Button down
      Public Const WM_RBUTTONUP = &H205       'Button up
      Public Const WM_RBUTTONDBLCLK = &H206   'Double-click

      Public Declare Function SetForegroundWindow Lib "user32" _
      (ByVal hWnd As Long) As Long
      Public Declare Function Shell_NotifyIcon Lib "shell32" _
      Alias "Shell_NotifyIconA" _
      (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

      Public nid As NOTIFYICONDATA

'ÖÚ åÐÇ ÇáßæÏ Ýí ÇáÝæÑã

Private Sub Form_Load()
       Me.Show
       Me.Refresh
       With nid
        .cbSize = Len(nid)
        .hWnd = Me.hWnd
        .uId = vbNull
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        .uCallBackMessage = WM_MOUSEMOVE
        .hIcon = Me.Icon
        .szTip = "Your ToolTip" & vbNullChar
       End With
       Shell_NotifyIcon NIM_ADD, nid
End Sub

Private Sub Form_Resize()
      If Me.WindowState = vbMinimized Then Me.Hide
End Sub

Private Sub Form_Unload(Cancel As Integer)
       Shell_NotifyIcon NIM_DELETE, nid
End Sub


' åÐÇ ÇáßæÏ ãõÌÑÈ æíÚãá ÈÕæÑÉ ããÊÇÒÉ Úáì ÇáæíäÏæÒ ÅßÓ Èí
' ÅÐÇ æÇÌåÊß Ãí ãÔÇßá Ýí ÊäÝíÐå íãßäß ÇáÓÄÇá Úáì ÇáãæÞÚ ÇáÊÇáí
' http://www.al-ebda3.info/ib/index.php?showforum=18
' æÓÃßæä ÓÚíÏà ÌÏÇð ÈÇáÅÌÇÈÉ Úáì ÃÓÆáÊßã æÇÓÊÝÓÇÑÇÊßã æãÞÊÑÍÇÊßã ÈÎÕæÕ ÊØæíÑ åÐå ÇáäÓÎÉ
' ÃÎæßã: ÚÈÏ Çááå ÝÊÍí

-----> ما المقصود بالموديل و أن كان هنالك صورة

الرجاء المساعدة و إبلاغي عن الخطأ لأتجنبة

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 15 ديسمبر 2004 في 15:10

#2

أخي الحبيب، ما هي قصة ذلك البرنامج؟ هل هو برنامج مكافحة فايروسات :-)، أنت وضعت مشاركة بالأمس فقط تقول فيها بأنك لم تبدأ في تعلم البرمجة، أليس كذلك؟؟؟؟ لماذا دخلت في أول يوم على ال API وقضاياه... تعلم الأمور البسيطة أولاً ولا تدخل على الأكواد الطويلة والمعقدة، صدقني أول ما رأيت الكود ظننت بأنه طلاسم ساحر.

يوجد في الفيجوال بيسك نيت أداة صغيرة تستطيع أن تجعل برنامجك يم الساعة إن كان هذا ما ترغبه، لا تستعجل ويجب عليك أن تعمل البرنامج وبعد ذلك يأتي الوقت الذي تفكر فيه أن تضعه بالقرب من الساعة...

Learn Japanese :>>> http://www.nouben.com/

#3

أخي hamoody15،

هذا كود VB6، و هذا القسم للـ VB.Net ، و شتان بين اللغتان، و ان كنت تريد نقل الموضوع لقسم الـ VB6 لكي تحصل على اجابة فاخبرني حتى أقوم بذلك، أم انك تريد تحويل الكود للـ VB.Net ؟؟

رأس الحكمة الإيمان بالله

#4

السلام عليكم

أخي محمد عبدالعليم

أنا جديد على اللغة ولكنني أحب البرمجة ولدي طموحاتي بالبرمجة ولكن الكل يقول لي لافائدة من الفيجوال بيسك بدون دورات أة أن أتعلم سي ++ أفضل من فيجوال بيسك

و الرأي الذي عجبني وهو من أحد أساتذت الحاسوب بالمدرسة قال لي أن أتعلم الفيجوال بيسك ثم سي++ ليكن لدي معلومات

على العموم تعلمي للغة على أيديكم بإذن الله

هذه الأكواد من مكتبة أكواد لقد نزلتها من الأنترنت

أريد أن أتعلم بعض الأشياء التي أن تعلمتها أستطيع أن أفعل ما أريد أي أن أتعلم أساسيات كتابت الكود و أنا أكتب الكود للأمر الذي أريده

ومع جزيل الشكر وخالص تمنياتي لك بالتوفيق و النجاح

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

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