Autor Thema: Shell(...xxxx....) Befehle  (Gelesen 2313 mal)

Thobz

  • Gast
Shell(...xxxx....) Befehle
« am: 31.03.08 - 09:47:36 »
Hallo,

ich habe folgendes Problem mit diesem Code :

Code
taskID%=Shell("Ping 200." & strTemp3 &"."&strTemp2 & ".11 -t",5)

Das CMD Fenster öffnet sich kurz und dann beendet es sich gleich von alleine.
Habt ihr eine Idee warum ?


Thomas

Thobz

  • Gast
Re: Shell(...xxxx....) Befehle
« Antwort #1 am: 31.03.08 - 12:24:00 »
Hallo,

für die die es interessiert hier die Lösung :

Code
taskID%=Shell("C:\Windows\System32\Ping.exe 200." & strTemp3 &"."&strTemp2 & ".11 -t",5)
Ich habe einfach den kompletten Pfad zur Ping.exe hinzugefügt.


Gruß Thomas

Offline FriFra

  • Senior Mitglied
  • ****
  • Beiträge: 397
  • Geschlecht: Männlich
Re: Shell(...xxxx....) Befehle
« Antwort #2 am: 29.04.08 - 02:37:18 »
Für Aufrufe mit Shell benötigt man leider immer komplette Pfadangaben. In dem Fall finde ich es schöner, sich die ShellExecute aus der Shell32.dll zu holen, dann klappen Shell-Aufrufe, wie gewohnt. Du kannst dann z.B. auch beliebige Dokumente aufrufen, ohne den Pfad zum verknüpften Programm kennen zu müssen. "Shell" ist in LS einfach nur schlecht implementiert...

Code
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (Byval hWnd As Long, Byval lpOperation As String, _
Byval lpFile As String, Byval lpParameters As String, Byval lpDirectory As String, Byval nshowcmd As Long) As Long

Const SW_HIDE = 0                  ' Versteckt öffnen
Const SW_MAXIMIZE = 3              ' Maximiert öffnen
Const SW_MINIMIZE = 6              ' Minimiert öffnen
Const SW_NORMAL = 1
Const SW_RESTORE = 9
Const SW_SHOWMAXIMIZED = 3
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMINNOACTIVE = 7
Const SW_SHOWNOACTIVATE = 4


Sub Click(Source As Button)
	'Ping:
	Call ShellExecute(0, "open", "ping", "192.168.1.1 -t", "", SW_NORMAL)
	
	'Word-Datei öffnen:
	Call ShellExecute(0, "open", "C:\MeinPfad\Mein.Doc", "", "", SW_NORMAL)
	
	' Excel-Datei im Hintergrund drucken:
	Call ShellExecute(0, "print", "C:\MeinPfad\Mein.XLS", "", "", SW_HIDE)
	
	' Explorer-Fenster mit einem vorgegebenen Pfad öffnen:
	Call ShellExecute(0, "explore", "", "C:\MeinPfad\", "", SW_NORMAL)
	
	' Anwendung in einem bestimmten Verzeichnis ausführen, Fenster maximieren:
	Call ShellExecute(0, "Print", "C:\MeinPfad\Mein.XLS", "C:\MeinAndererPfad", "", SW_MAXIMIZE)
End Sub

EDIT koehlerbv: Code an Bildschirmbreite angepasst
« Letzte Änderung: 29.04.08 - 09:31:13 von koehlerbv »
Gruß
Michael


IBM Certified Advanced Application Developer (PCLP AD 8.5,8,7,6,5)
IBM Certified Associate System Administrator (CLS SA 8.5)
Domino 10.0.1 (Windows Server 2016)
Inventor of the 00.00.200x?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz