Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Datei mit VB-Skript beenden

Mitglied: edvmaedchenfueralles

edvmaedchenfueralles (Level 1) - Jetzt verbinden

03.12.2007, aktualisiert 05.12.2007, 6321 Aufrufe, 5 Kommentare

Hallo zusammen!
Keine Ahnung ob ich hier richtig bin!
Ist es möglich mittels VB-Skript eine Datei zu beenden (ein Programm zu schließen)? Ist eine Access-Datenbank!

Wenn ja, wie sieht der code aus? Wshell. ???


Danke im voraus!
Mitglied: 48558
03.12.2007 um 15:33 Uhr
Also ein Programm killst du mit VBScript + WMI.

Also so:

01.
Prog = "notepad.exe"   'Hier Name des Prozess eingeben.
02.
 
03.
Set wmi = GetObject("winmgmts:") 
04.
Set System = wmi.instancesOf("win32_process") 
05.
For Each process in system 
06.
  if lcase(process.name) = LCase(Prog) then
07.
    process.Terminate (0) 
08.
  End If 
09.
Next
Bitte warten ..
Mitglied: bastla
03.12.2007 um 15:59 Uhr
Hallo edvmaedchenfueralles!

Da sind für mich einige Fragen offen:

  • Was verstehst Du unter "beenden"? Wenn damit gemeint ist, einen Task zu "killen", gleich die Zusatzfrage:
  • Ist es sinnvoll, eine Datenbank- (nennen wir Access mal so) Datei "gewaltsam" zu beenden? Wenn Du das tatsächlich willst:
  • Ist darauf zu achten, ob mehrere Instanzen von Access laufen? Wenn ja:
  • Wie sind diese zu unterscheiden? Um den Namen der ".mdb"-Datei auslesen zu können, müsste diese aus dem Dateisystem (Doppelklick im Explorer) oder per Commandline geöffnet worden sein. Alternativ wäre noch eine Reihung nach dem Startzeitpunkt der einzelnen Access-Instanzen möglich.

Für den einfachsten Fall, nämlich "beende über die Taskliste alle Access-Instanzen" würde der Code etwa so aussehen:
01.
strProcName = "MSACCESS.EXE"
02.
strComputer = "." 
03.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
04.
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process",,48) 
05.
For Each objItem in colItems
06.
	If UCase(objItem.Name) = strProcName Then objItem.Terminate
07.
Next
Wenn der Name der ".mdb"-Datei in der Commandline aufscheint, dann so:
01.
strProcCmd = "TEST.MDB"
02.
strComputer = "." 
03.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
04.
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process",,48) 
05.
For Each objItem in colItems
06.
	If Instr(UCase(objItem.CommandLine), strProcCmd) > 0 Then objItem.Terminate
07.
Next
In beiden Fällen bitte die durchgängige Großschreibung der Suchbegriffe beachten (oder auch dafür ein UCase() verwenden).

Grüße
bastla

[Edit] @48558: Als ich angefangen hab', stand Dein Kommentar noch nicht da - aber mein zwischenzeitliches Telefonat war anscheinend ganz schön lang ... [/Edit]
Bitte warten ..
Mitglied: edvmaedchenfueralles
04.12.2007 um 09:15 Uhr
Danke für die schnellen Antworten!
Mir ist durchaus bewusst, dass es nicht die schönste Lösung ist den Access-Prozess zu killen! Allerdings ist mir sonst keine Möglichkeit bekannt, das Programm zu beenden und wieder zu starten!

Gibts etwas schonenderes?

Es müsste ja auch so gehen, dass ich das Access-Fenster aktiviere (den Fokus drauf setze->Wie?) und dann mittels Sendkeys die entsprechenden Tasten zum beenden schicke! Könnte das funktionieren? Wie aktiviere ich das Accessfenster falls es im Hintergrund liegt?


Bin für jeden Tipp dankbar!
Bitte warten ..
Mitglied: Biber
04.12.2007 um 09:27 Uhr
Moin edvmaedchenfueralles,

schreib doch bitte noch mal zwei Zeilen zur Notwendigkeit dieser Aktion.
Eine Access-Applikation, die führer- bzw. user-los durchs Weltall treibt und per Skript beendet werden muss..?????

Neugierig
Biber
Bitte warten ..
Mitglied: edvmaedchenfueralles
05.12.2007 um 17:01 Uhr
Danke für eure Hilfe!
Habs mit diesem Code gemacht:
01.
Dim objWMIService, objProcess, colProcess
02.
Dim strComputer, strProcessKill
03.
strComputer = "."
04.
strProcessKill = "'msaccess.exe'"
05.
 
06.
Set objWMIService = GetObject("winmgmts:" _
07.
& "{impersonationLevel=impersonate}!\\" _
08.
& strComputer & "\root\cimv2")
09.
 
10.
Set colProcess = objWMIService.ExecQuery _
11.
("Select * from Win32_Process Where Name = " & strProcessKill )
12.
For Each objProcess in colProcess
13.
objProcess.Terminate()
14.
Next
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VB Skript Excel Datei
gelöst Frage von FragerVB for Applications3 Kommentare

Hallo Zusammen, Ich brauche eure Hilfe. Ich habe eine Datei 1.xlsx nun brauche ich ein Skript, was die Datei ...

VB for Applications
Hilfe bei VB Skript
Frage von Voner1502VB for Applications1 Kommentar

Hallo zusammen. Ich habe ein Skript für die Übernahme von Druckern vom alten Servern zum neuen Server bekommen. Diese ...

VB for Applications
VB Skript für mehrere Batch Befehle
gelöst Frage von freshman2017VB for Applications37 Kommentare

Hallo, zum Glück konntet Ihr mir schon sehr helfen, habe nun noch eine weitere Frage. Ich nutze derzeit ein ...

VB for Applications

VB Skript Löschen von Ordner funktioniert nicht

gelöst Frage von ricsonVB for Applications4 Kommentare

Servus zusammen ! ich versuche schon seit einiger Zeit, ein Skript zu schreiben, welches mir bestimmte User Profil Ordner ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 20 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 3 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
Frage von frosch2Windows Netzwerk13 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Netzwerkmanagement
Ticketsystem für eine Kommune gesucht
gelöst Frage von akovisNetzwerkmanagement11 Kommentare

Ich suche aktuell ein Ticketsystem für eine Kleinstadt von 13000 Einwaohnern. Das System soll alle Anfragen aus verschiedenen Kanälen ...