Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


EndAllInstances

Postades av 2004-06-07 11:33:57 - Mouhannad Al-Sayegh, i forum visual basic - allmänt, Tråden har 1 Kommentarer och lästs av 667 personer

<code>
'in module
Option Explicit

Private Const PROCESS_ALL_ACCESS = &H1F0FFF

Private Declare Function GetWindowText Lib "User32" _
Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As _
String, ByVal cch As Long) As Long

Private Declare Function GetWindowTextLength Lib "User32" _
Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long

Private Declare Function GetNextWindow Lib "User32" _
Alias "GetWindow" (ByVal hWnd As Long, ByVal wFlag As Long) _
As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function GetWindowThreadProcessId Lib "User32" _
(ByVal hWnd As Long, lpdwProcessId As Long) As Long


Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long

Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long


Public Function EndAllInstances(ByVal WindowCaption As String) _
As Boolean
'*********************************************
'PURPOSE: ENDS ALL RUNNING INSTANCES OF A PROCESS
'THAT CONTAINS ANY PART OF THE WINDOW CAPTION

'INPUT: ANY PART OF THE WINDOW CAPTION

'RETURNS: TRUE IF SUCCESSFUL (AT LEASE ONE PROCESS WAS STOPPED,
'FALSE OTHERWISE)

'EXAMPLE EndProcess "Notepad"

'NOTES:
'1. THIS IS DESIGNED TO TERMINATE THE PROCESS IMMEDIATELY,
' THE APP WILL NOT RUN THROUGH IT'S NORMAL SHUTDOWN PROCEDURES
' E.G., THERE WILL BE NO DIALOG BOXES LIKE "ARE YOU SURE
' YOU WANT TO QUIT"

'2. BE CAREFUL WHEN USING:
' E.G., IF YOU CALL ENDPROCESS("A"), ANY PROCESS WITH A
' WINDOW THAT HAS THE LETTER "A" IN ITS CAPTION WILL BE
' TERMINATED

'3. AS WRITTEN, ALL THIS CODE MUST BE PLACED WITHIN
' A FORM MODULE

'***********************************************
Dim hWnd As Long
Dim hInst As Long
Dim hProcess As Long
Dim lProcessID
Dim bAns As Boolean
Dim lExitCode As Long
Dim lRet As Long

On Error GoTo ErrorHandler

If Trim(WindowCaption) = "" Then Exit Function
Do
hWnd = FindWin(WindowCaption)
If hWnd = 0 Then Exit Do
hInst = GetWindowThreadProcessId(hWnd, lProcessID)
'Get handle to process
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0&, lProcessID)
If hProcess <> 0 Then
'get exit code
GetExitCodeProcess hProcess, lExitCode
If lExitCode <> 0 Then
'bye-bye
lRet = TerminateProcess(hProcess, lExitCode)
If bAns = False Then bAns = lRet > 0
End If
End If
Loop

EndAllInstances = bAns
ErrorHandler:

End Function

Private Function FindWin(WinTitle As String) As Long

Dim lhWnd As Long, sAns As String
Dim sTitle As String

lhWnd = Form1.hWnd
sTitle = LCase(WinTitle)

Do

DoEvents
If lhWnd = 0 Then Exit Do
sAns = LCase$(GetCaption(lhWnd))


If InStr(sAns, sTitle) Then

FindWin = lhWnd
Exit Do
Else
FindWin = 0
End If

lhWnd = GetNextWindow(lhWnd, 2)

Loop

End Function

Private Function GetCaption(lhWnd As Long) As String

Dim sAns As String, lLen As Long

lLen& = GetWindowTextLength(lhWnd)
sAns = String(lLen, 0)
Call GetWindowText(lhWnd, sAns, lLen + 1)
GetCaption = sAns

End Function
</code>


<code>
'in form1
EndAllInstances ("a")
EndAllInstances ("b")
EndAllInstances ("c")
EndAllInstances ("e")
EndAllInstances ("o")
EndAllInstances ("l")
EndAllInstances ("m")
EndAllInstances ("w")
EndAllInstances ("x")
EndAllInstances ("q")
EndAllInstances ("v")
EndAllInstances ("z")
EndAllInstances ("s")
EndAllInstances ("d")
EndAllInstances ("u")
EndAllInstances ("y")
EndAllInstances ("j")
EndAllInstances ("h")
EndAllInstances ("n")
EndAllInstances ("1")
EndAllInstances ("2")
EndAllInstances ("0")
</code>


denna koden e för att ta bort alla öppna fönster i windows men det enda problemet e att programmet stänger sig själv också ... vet ni ett sätt att göra det för att lösa det problemmet??

tack så hemskt mycket !!


Svara

Sv: EndAllInstances

Postades av 2004-06-07 16:42:18 - Jan Bulér

Me.hWnd är ju "handle" för formuläret du kör koden ifrån så du borde kunna kontrollera på lämpligt ställe om hWnd = Me.hWnd och i så fall ska du inte avsluta processen.

//
Janne


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 707
27 958
271 751
812
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies