تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[عنوان معدل] طلب كود process list
#1
اريد كود لو فى برنامج معين مفتوح مروعى يظهر رساله كذا.exe مفتوح اقفل كذا.exe وى حاول مره اخرى وى المشروع مايفتحش لاغايت ماالبرنامج التانى يقفل
الرد }}}}
تم الشكر بواسطة:
#2
اخي الكريم حاول ان تبحث عن
process list vb.net
او
تبحث في فكرة API Findwindow
http://www.pinvoke.net/default.aspx/user32.findwindow
الرد }}}}
تم الشكر بواسطة:
#3
™ like VB ™ كتب :اريد كود لو فى برنامج معين مفتوح مروعى يظهر رساله كذا.exe مفتوح اقفل كذا.exe وى حاول مره اخرى وى المشروع مايفتحش لاغايت ماالبرنامج التانى يقفل

هل تقصد تمنع تشغيل متعدد لنفس التطبيق بمعنى Single Instance به GUID متطابق...
اذا نعم فهناك خاصية موجودة ضمن خصائص مشاريع vb.net في التاب الخاص Application ضع اشارة في صندوق Make single instance application

كود :
[align=left]Private Shared Sub Main()
    Using mutex As New Mutex(False, "Global\" + appGuid)
        If Not mutex.WaitOne(0, False) Then
            MessageBox.Show("Instance already running")
            Return
        End If
        Application.Run(New Form1())
    End Using
End Sub
[/align]
الرد }}}}
تم الشكر بواسطة:
#4
قم بفتح وليكن Notepad ثم قم بتشغيل البرنامج المرفق سوف يطلب منك غلق ال Notepad أولا
المثال مصمم ب 2012 إذا لم يكن لديك قم بفتح form1.vb والإطلاع على الكود


الملفات المرفقة
.rar   CloseProcess.rar (الحجم : 98.83 ك ب / التحميلات : 38)
الرد }}}}
تم الشكر بواسطة:
#5
من بعد أذنكم جميعاً
أخي أستبدل كود Form1 بالكود التالي (طبعاً مع أستبدال كذا.exe بأسم البرنامج)
كود :
Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Do Until IsProcessRunning("كذا.exe") = False
            If MessageBox.Show("Please close كذا.exe before opening this program.", "Error!", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Cancel Then
                End
            End If
        Loop
    End Sub


    Public Function IsProcessRunning(ByVal processName As String) As Boolean
        Dim Prc As Process() = Process.GetProcesses()
        processName = processName.Replace(".exe", "")
        Dim running As Boolean = False
        For Each P As Process In Prc
            If P.ProcessName = processName Then
                running = True
                Exit For
            End If
        Next
        Return running
    End Function
End Class
الرد }}}}
تم الشكر بواسطة:
#6
Raggi Tech كتب :اخي الكريم حاول ان تبحث عن
process list vb.net
او
تبحث في فكرة API Findwindow
http://www.pinvoke.net/default.aspx/user32.findwindow
جزاك الله كل خير اخى
newbie2vb كتب :هل تقصد تمنع تشغيل متعدد لنفس التطبيق بمعنى Single Instance به GUID متطابق...
اذا نعم فهناك خاصية موجودة ضمن خصائص مشاريع vb.net في التاب الخاص Application ضع اشارة في صندوق Make single instance application

كود :
[align=left]Private Shared Sub Main()
    Using mutex As New Mutex(False, "Global\" + appGuid)
        If Not mutex.WaitOne(0, False) Then
            MessageBox.Show("Instance already running")
            Return
        End If
        Application.Run(New Form1())
    End Using
End Sub
[/align]
جزاك الله كل خير اخى
amgadtamer كتب :قم بفتح وليكن Notepad ثم قم بتشغيل البرنامج المرفق سوف يطلب منك غلق ال Notepad أولا
المثال مصمم ب 2012 إذا لم يكن لديك قم بفتح form1.vb والإطلاع على الكود

Aly El-Haddad كتب :من بعد أذنكم جميعاً
أخي أستبدل كود Form1 بالكود التالي (طبعاً مع أستبدال كذا.exe بأسم البرنامج)
كود :
Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Do Until IsProcessRunning("كذا.exe") = False
            If MessageBox.Show("Please close كذا.exe before opening this program.", "Error!", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Cancel Then
                End
            End If
        Loop
    End Sub


    Public Function IsProcessRunning(ByVal processName As String) As Boolean
        Dim Prc As Process() = Process.GetProcesses()
        processName = processName.Replace(".exe", "")
        Dim running As Boolean = False
        For Each P As Process In Prc
            If P.ProcessName = processName Then
                running = True
                Exit For
            End If
        Next
        Return running
    End Function
End Class
جزاك الله كل خير اخى
تم الحل
الرد }}}}
تم الشكر بواسطة:
#7
يا اخي تفضل هذا الكود المختصر من برمجتي
طبعا هذا الكود تضعه في الفروم لود
قم بتشغيل موجة الاوامر ثم شغل برنامجك
كود :
Dim pro() As Process = System.Diagnostics.Process.GetProcessesByName("cmd")
        Dim check As Boolean = pro.Length

        If check = True Then
            MsgBox(" الرجاء اغلاق موجه الاوامر ")
            Me.Close()
        Else

        End If
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] جعل المستخدم يحدد عنوان اي بي السيرفر الذي عليه قاعدة البيانات thevirus 0 55 04-11-16, 10:38 AM
آخر رد: thevirus
  List Of Class Mohamed20 3 91 05-10-16, 01:47 AM
آخر رد: Mohamed20
  list of string to listview Mohamed20 2 68 17-09-16, 07:26 AM
آخر رد: Mohamed20
  [VB.NET] توسيط عنوان الفورم المبرمج الطموح 4 361 16-05-16, 10:16 PM
آخر رد: myalsailamy
  [كود] طلب كود قفل عمليه Process mostfa1995 4 200 29-04-16, 09:11 PM
آخر رد: mostfa1995
  [كود] طلب كود list box mostfa1995 10 333 16-04-16, 10:39 PM
آخر رد: mostfa1995
  كود اظهار عنوان الفورم فى المنتصف salah mansour 4 256 13-03-16, 12:11 AM
آخر رد: salah mansour
  سوال في list superwoofer 2 194 19-01-16, 09:46 PM
آخر رد: A7medNI
  [سؤال] تغيير عنوان رساله التنبية نسيم الترك1 2 227 10-01-16, 09:47 PM
آخر رد: نسيم الترك1
  [كود] ايجاد process id أسامة 2 232 12-11-15, 01:57 PM
آخر رد: أسامة

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم