Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung

Mitglied: edvmaedchenfueralles

edvmaedchenfueralles (Level 1) - Jetzt verbinden

03.12.2007, aktualisiert 05.12.2007, 6261 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
gelöst VB Skript Excel Datei (3)

Frage von Frager zum Thema VB for Applications ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (37)

Frage von freshman2017 zum Thema VB for Applications ...

Batch & Shell
gelöst Programme beenden Batch Dateien (3)

Frage von anmelder zum Thema Batch & Shell ...

Batch & Shell
gelöst Skript für: Automatisch generierte CSV Datei (3)

Frage von janelsaesser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...