Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Prozess/Programm beenden (Windows)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 16.10.2005, 17:48    Titel: Prozess/Programm beenden (Windows) Antworten mit Zitat

Hi Leute!

Wie einige von euch sicher wissen bin ich sogut wie garnicht bewandert in Sachen WinAPI und Co.

Aber zum Glück hab ich ja euch zwinkern Wie kann ich z.B. den FireFox-Browser-Prozess durch mein FB-Programm beenden?

Und (fast noch wichtiger) geht das auch mit einer laufenden DFÜ-Verbindung?

Ziel der Sache ist, dass sich mein Computer einmal die Woche in der Nacht (über Bios geregelt) von selber hochfährt und anschließend ein Komplett-Backup durchführt, alle nötigen Programme updatet und diese dann wieder nacheinander abknallt. Sprich sie müssen nicht unbedingt geordnet beendet werden. Es muss nur eine bestimmte Reihenfolge eingehalten werden happy


Grüßle,
Mecki

PS: Hab W2k SP4 und (wobei das wohl kaum wichtig ist..) FireFox 1.5 Beta 2
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.10.2005, 18:25    Titel: Antworten mit Zitat

Hi Mecki!

So sollte das Trennen der Verbindung gehen, aber FreeBasic scheint da irgendeine Definition oder sowas für die DLL zu fehlen. Vielleicht muss man ähnlich zur INPOUT32 auch zu dieser WinAPI DLL erst eine FreeBasic-kompatible Version erstellen?!

Code:
Declare Function RasEnumConnections Lib "rasapi32.dll" _
        Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As _
        Long, lpcConnections As Long) As Long
       
Declare Function RasHangUp Lib "rasapi32.dll" Alias _
        "RasHangUpA" (ByVal hRasConn As Long) As Long

Declare Function GetStr(Feld() As Byte) As String

Const RAS_MaxEntryName = 256
Const RAS_MaxDeviceType = 16
Const RAS_MaxDeviceName = 32
Const Max_Fill = 96
 
Type RASType
  dwSize As Long
  hRasCon As Long
  szEntryName(RAS_MaxEntryName) As Byte
  szDeviceType(RAS_MaxDeviceType) As Byte
  szDeviceName(RAS_MaxDeviceName) As Byte
  dwFill(Max_Fill) As Byte
End Type

'Main

Dim x%, y%, RAS(255) As RASType
Dim lg&, lpcon&, Result&
       
    RAS(0).dwSize = 412
    lg = 256 * RAS(0).dwSize
    Result = RasEnumConnections(RAS(0), lg, lpcon)

    If lpcon <> 0 Then
      PRINT "Aktive Verbindungen: "
      For x = 0 To lpcon - 1
        PRINT "=> "; GetStr(RAS(x).szEntryName());
        PRINT " "; RAS(x).hRasCon;
        PRINT " "; GetStr(RAS(x).szEntryName());
        PRINT " "; GetStr(RAS(x).szDeviceName());
        PRINT " "; GetStr(RAS(x).szDeviceType())
      Next x
    Else
      PRINT "Keine DFÜ-Verbindungen aktiv!"
    End If

  Dim hRasConn&
    FOR x%=LBOUND(RAS) TO UBOUND(RAS)
      hRasConn = RAS(x%).hRasCon
      Result = RasHangUp(ByVal hRasConn)
    NEXT x%

  PRINT "Alle Verbindungen getrennt."
SLEEP: END

Function GetStr(Feld() As Byte) As String
  Dim x%, y%, aa$, bb$
    For x% = 0 To UBound(Feld)
      bb$ = Chr$(Feld(x%))
      If bb$ <> Chr$(0) Then
        aa$ = aa$ + bb$
      Else
        Exit For
      End If
    Next x%
    GetStr = aa$
End Function


Das Anwendung-Beenden geht auch. Dazu hab ich hier ein Beispiel geschrieben: http://home.arcor.de/ssteiner/download/FBKillTask.zip lächeln

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 17.10.2005, 10:24    Titel: Antworten mit Zitat

Hallo Sebastian,
dein Hinweis auf die inpout32.dll brachte mich auf folgende Idee:
Code:
'Deklarationen
Dim library As Integer
Dim RasEnumConnections as Function (lpRasCon As Any, lpcb As Long,_
                                    lpcConnections As Long) As Long
Dim RasHangUp As Function (ByVal hRasConn As Long) As Long

'DLL laden
library = DyLibLoad("rasapi32.dll")
'Fehlerbehandlung
if(library = 0) Then
 Print "Fehler: rasapi32.dll nicht gefunden."
 Sleep
 End 1
end If
'Inhalt von derdll deklarieren
RasEnumConnections = DyLibSymbol(library, "RasEnumConnectionsA")
RasHangUp = DyLibSymbol(library, "RasHangUpA")
...
..
.

Konnte ich aber nicht ausprobieren, also nur ein Hinweis wie man in FB ohne def-Datei an die Funktionen einer DLL kommt.
Zur rasapi32.dll habe ich noch folgenden Hinweis gefunden:
Zitat:
Der Tipp funktioniert nur, wenn auch eine DFÜ-Verbindung oder eine äquivalente Verbindung im System eingerichtet ist, da erst zu diesem Zeitpunkt die Datei RASAPI32.DLL installiert wird.

Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 17.10.2005, 13:31    Titel: Antworten mit Zitat

Hallo!

Danke für den Tipp! happy Ich hab's in den Code eingearbeitet.

Die funktionierenden Codes:
=> DFÜ Verbindungen trennen
=> Mozilla Anwendungen beenden

Viel Spaß damit, Mecki! zwinkern

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 17.10.2005, 13:39    Titel: Antworten mit Zitat

Ihr seid echt spitze! Dickes Danke lächeln
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz