عرض مشاركة واحدة
قديم 27-02-2014, 06:37 AM   #4

smsm20062009
عضو مميز



الصورة الرمزية smsm20062009


• الانـتـسـاب » May 2008
• رقـم العـضـويـة » 21412
• المشـــاركـات » 617
• الـدولـة » EGYPT :D
• الـهـوايـة »
• اسـم الـسـيـرفـر »
• الـجـنـس »
• نقـاط التقييم » 59
smsm20062009 جـيـد

smsm20062009 غير متواجد حالياً



افتراضي



كود مني ليك عشان انت اللي بشرتني بإن القسم اتعمل
حط ده في Class قديم او اعمل واحد جديد اسمه ControlWindow وغير كل اللي فيه بده

كود:
Imports System.Runtime.InteropServices

Public Class ControlWindow
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
    End Function

    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function FindWindow( _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String) As IntPtr
    End Function

    <DllImport("user32.dll", CharSet:=CharSet.Unicode, SetLastError:=True)> _
    Private Shared Function DestroyWindow(hwnd As IntPtr) As Boolean
    End Function

    Public Shared Function ShowWindow(ByVal WindowName As String) As Boolean
        Dim Handle As IntPtr

        Handle = FindWindow(vbNullString, WindowName)
        If Handle = IntPtr.Zero Then
            Return False
        End If

        ShowWindow(Handle, 1)
        Return Marshal.GetLastWin32Error().Equals(0)
    End Function

    Public Shared Function HideWindow(ByVal WindowName As String) As Boolean
        Dim Handle As IntPtr

        Handle = FindWindow(vbNullString, WindowName)
        If Handle = IntPtr.Zero Then
            Return False
        End If

        ShowWindow(Handle, 0)
        Return Marshal.GetLastWin32Error().Equals(0)
    End Function

    Public Shared Function CloseWindow(ByVal WindowName As String) As Boolean
        Dim Handle As IntPtr

        Handle = FindWindow(vbNullString, WindowName)
        If Handle = IntPtr.Zero Then
            Return False
        End If

        DestroyWindow(Handle)
        Return Marshal.GetLastWin32Error().Equals(0)
    End Function
End Class
كل الأوامر بترجع Bool لو كان True يبقى الأمر نجح ولو كان False يبقى فشل ( الفشل مش من الكود لكن من الويندوز او ان البرنامج اللي انت بتعمل الأمر عليه محمي)

ولما تعوز مثلا تخفي الاله الحاسبة تعمل

كود:
Dim Result = ControlWindow.HideWindow("Calculator")
        If Result Then
            MessageBox.Show("تم بنجاح")
        Else
            MessageBox.Show("هناك خطأ")
        End If
ونصيحة مني استعمل الـ#C
احسن ومريح ( أنا اساسا مبرمج #C مش VB.Net لكن اهو كله برمجة )



التعديل الأخير تم بواسطة smsm20062009 ; 27-02-2014 الساعة 06:45 AM

رد مع اقتباس