تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تعديل في الكود
#1
PHP كود :
For Each a As Process In Process.GetProcesses
            Dim x 
As String a.MainWindowTitle
            x 
x.ToLower
            
If x.Contains("i") Or x.Contains("r") Or x.Contains("t"Then
                a
.Kill()
                
MsgBox("")
            
End If
        
Next 


اتمني اجد طريقة لاضع فيها عدد كبير من الكلمات لاني لو وضعت

ذلك من خلال تكرار Or x.Contains يصبح الكود يغلق المتصفح او دون وجود

الكلمة الدالة تلقائي Angry
[/align]

الرد
تم الشكر بواسطة:
#2
يعني انت تبي تغلق المتصفح لو كان شغال ؟؟

استخدم اسم البروسس بدل وضع حروف عشوائية

فإسم البروسس ثابت ولايختلف بين مستخدم واخر

PHP كود :
For Each p As Process In Process.GetProcesses
            Dim CurrentProcessName 
As String p.ProcessName.ToLower()
            If 
CurrentProcessName "firefox" Or CurrentProcessName "chrome" Or CurrentProcessName "iexplorer" Then
                p
.Kill()
            
End If
        
Next 

الكود سيقوم باغلاق الفايرفوكس + قوقل كروم + انترنت اكسبلورر

لو سألتني من وين جبت اسماء البروسس ، سأقول لك يمكنك الحصول عليها من Task Manger

الرد
تم الشكر بواسطة: m0075 , سعود , Aly El-Haddad
#3
بارك الله فيك اخي انت لم تفهم قصدي

انا اريد ان اغلق المتصفح في حالة وجد في شرطيه كلمة محددة مثلا

[php]For Each a As Process In Process.GetProcesses
Dim x As String = a.MainWindowTitle
x = x.ToLower
If x.Contains("فيجول بيسك لكل العرب ") Then
a.Kill()
MsgBox("")
End If
Next [code]

الان لو وجد في شريط المصتفح العنوان للصفحة فيجول بيسك لكل العرب سيغلق المصتفح والا لن يغلقه اتمني وصلت الفكرة
[/align]

الرد
تم الشكر بواسطة:
#4
(28-12-13, 10:24 AM)m0075 كتب : بارك الله فيك اخي انت لم تفهم قصدي

انا اريد ان اغلق المتصفح في حالة وجد في شرطيه كلمة محددة مثلا

[php]For Each a As Process In Process.GetProcesses
Dim x As String = a.MainWindowTitle
x = x.ToLower
If x.Contains("فيجول بيسك لكل العرب ") Then
a.Kill()
MsgBox("")
End If
Next [code]

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

اخي من بداية الموضوع انا موفاهم ويش تقصد بالضبط

هل تقصد انك تريد اضافة مجموعة كلمات ليتم مقارنتها بدل استعمال Or في كل مرة ؟؟
الرد
تم الشكر بواسطة:
#5
السلام عليكم، الكود التالي يقوم بجلب عناوين جميع القوائم (ليس القائمة الأساسية من كل تطبيق فقط) ثم مطابقة عناوينها مع قائمة أخرى من الكلمات و إذا تطابقت يغلق التطبيق الذي به هذه النافذة (طبعاً الكود يعمل عند الضغط على الزر Button1)

PHP كود :
Imports System.Runtime.InteropServices

Public Class Form1

    
<DllImport("user32.dll"EntryPoint:="GetWindowText")> _
    
Private Shared Function GetWindowText(ByVal hwnd As IntPtrByVal lpString As System.Text.StringBuilderByVal cch As Int32) As Int32
    End 
Function

    <
DllImport("user32.dll"EntryPoint:="GetWindowTextLength")> _
    
Private Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Int32
    End 
Function

    <
DllImport("user32.dll"EntryPoint:="EnumWindows")> _
    
Private Shared Function EnumWindows(ByVal Adress As CallBackByVal lParam As Integer) As Integer
    End 
Function

    <
DllImport("user32.dll"EntryPoint:="GetWindowThreadProcessId")> _
    
Private Shared Function GetWindowThreadProcessId(ByVal hWnd As IntPtr, <Out()> ByRef lpdwProcessId As UInteger) As UInteger
    End 
Function

    Private 
Delegate Function CallBack(ByVal hWnd As IntPtrByVal lParam As Integer) As Boolean

    
Private Function Enumerator(ByVal hWnd As IntPtrByVal lParam As Integer) As Boolean
        windowTexts
.Add(hWndGetText(hWnd))
        Return 
True
    End 
Function

    Private Function 
GetText(ByVal handle As IntPtr) As String
        
If handle.ToInt32() <= 0 Then Return Nothing : Exit Function
        
Dim length As Integer GetWindowTextLength(handle)
        If 
length 0 Then Return String.Empty : Exit Function
        
Dim SB As New System.Text.StringBuilder(length 1)
        
GetWindowText(handleSBSB.Capacity)
        Return 
SB.ToString()
    
End Function

    Private 
Sub RefreshWindowTexts()
        
windowTexts.Clear()
        
EnumWindows(AddressOf EnumeratorNothing)
    
End Sub

    
Private windowTexts As New Dictionary(Of IntPtrString)

    Private 
Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim forbiddenWords 
As New List(Of String)({"facebook""yahoo"})
        
RefreshWindowTexts()
        
Dim keys As IntPtr() = New IntPtr(windowTexts.Keys.Count 1) {}
        
windowTexts.Keys.CopyTo(keys0)
        For 
Each ptr As IntPtr In keys
            
For As Integer 0 To forbiddenWords.Count 1
                
If windowTexts(ptr).ToLower().Contains(forbiddenWords(I).ToLower()) Then
                    Dim pid 
As Integer 0
                    GetWindowThreadProcessId
(ptrpid)
                    
Process.GetProcessById(pid).Kill()
                
End If
            
Next
        Next
    End Sub
End 
Class 
الرد
تم الشكر بواسطة: سعود , m0075 , الشاكي لله
#6
بارك الله فيك اخي Aly El-Haddad هل استطيع اضافة 30 كلمة ويعمل الكود بشكل سليم ؟؟؟ ساجرب الان

(28-12-13, 10:50 AM)الشاكي لله كتب :
(28-12-13, 10:24 AM)m0075 كتب : بارك الله فيك اخي انت لم تفهم قصدي

انا اريد ان اغلق المتصفح في حالة وجد في شرطيه كلمة محددة مثلا

[php]For Each a As Process In Process.GetProcesses
Dim x As String = a.MainWindowTitle
x = x.ToLower
If x.Contains("فيجول بيسك لكل العرب ") Then
a.Kill()
MsgBox("")
End If
Next [code]

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

اخي من بداية الموضوع انا موفاهم ويش تقصد بالضبط

هل تقصد انك تريد اضافة مجموعة كلمات ليتم مقارنتها بدل استعمال Or في كل مرة ؟؟

نعم اريد استخدام مجموعات كلمات يتم فحصها في حالة وجدها البرنامج في ريط التصفح

اغلق المتصفح ....
[/align]

الرد
تم الشكر بواسطة:
#7
اخي Aly El-Haddad تظهر مشكلة بعد قتل العملية في متصفح internet explorer

صورة للتوضيح بارك الله فيك يا ريت الحل

[/align]

الرد
تم الشكر بواسطة:
#8
PHP كود :
Dim forbiddenWords As New List(Of String)({"facebook""yahoo"})
        
RefreshWindowTexts()
        
Dim keys As IntPtr() = New IntPtr(windowTexts.Keys.Count 1) {}
        
windowTexts.Keys.CopyTo(keys0)
        
Dim pids As New List(Of Integer)
        For 
Each ptr As IntPtr In keys
            
For As Integer 0 To forbiddenWords.Count 1
                
If windowTexts(ptr).ToLower().Contains(forbiddenWords(I).ToLower()) Then
                    Dim pid 
As Integer 0
                    GetWindowThreadProcessId
(ptrpid)
                    If 
Not pids.Contains(pidThen
                        Process
.GetProcessById(pid).Kill()
                        
pids.Add(pid)
                    
End If
                
End If
            
Next
        Next 
الرد
تم الشكر بواسطة: m0075
#9
(29-12-13, 09:34 PM)Aly El-Haddad كتب :
PHP كود :
Dim forbiddenWords As New List(Of String)({"facebook""yahoo"})
        
RefreshWindowTexts()
        
Dim keys As IntPtr() = New IntPtr(windowTexts.Keys.Count 1) {}
        
windowTexts.Keys.CopyTo(keys0)
        
Dim pids As New List(Of Integer)
        For 
Each ptr As IntPtr In keys
            
For As Integer 0 To forbiddenWords.Count 1
                
If windowTexts(ptr).ToLower().Contains(forbiddenWords(I).ToLower()) Then
                    Dim pid 
As Integer 0
                    GetWindowThreadProcessId
(ptrpid)
                    If 
Not pids.Contains(pidThen
                        Process
.GetProcessById(pid).Kill()
                        
pids.Add(pid)
                    
End If
                
End If
            
Next
        Next 

جزاك الله الفردوس الاعلي اخي وبارك الله بيك وبعلمك
[/align]

الرد
تم الشكر بواسطة: Aly El-Haddad


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ارجو منكم المساعده و التعديل علي الكود اليوم السابع 5 78 , 09:58 PM
آخر رد: trakktour
  [VB.NET] مطلوب تعديل في قاعدة البيانات nrkarat 0 78 09-06-21, 01:02 AM
آخر رد: nrkarat
  كيف استثني يوم الجمعة في الكود التالي abomo3ath 1 110 07-06-21, 11:51 PM
آخر رد: Fareed2
  [VB.NET] كيف أستخدم TRansaction حتى أضمن تطبيق الكود بشكل جيد sniperjawadino 6 370 09-05-21, 05:29 PM
آخر رد: sniperjawadino
  تعديل علي progress bar mohamedat 10 535 05-05-21, 05:21 AM
آخر رد: bidaya
  كيف يتم تعديل البيانات بين تاريخين في sql جيولوجي مبتدئ 3 341 28-04-21, 03:50 AM
آخر رد: جيولوجي مبتدئ
  [VB.NET] الكود المكافئ لعرض أسماء الجداول فى قاعدة البيانات mmaalmesry 4 462 23-04-21, 08:30 AM
آخر رد: d3vc0d
  [VB.NET] أرجو التعديل في الكود المرفق معتز حسن 3 387 10-04-21, 06:33 PM
آخر رد: معتز حسن
  [VB.NET] اريد مساعدة في حل الكود asrar 6 944 27-03-21, 11:08 PM
آخر رد: asrar
  كيف أحط attachment في إيميل المرسل من البرنامج؟ ما هو الكود؟ Alziny 2 332 27-03-21, 05:17 AM
آخر رد: علي بنيان

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


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