Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Thobz am 31.03.08 - 09:47:36

Titel: Shell(...xxxx....) Befehle
Beitrag von: Thobz 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
Titel: Re: Shell(...xxxx....) Befehle
Beitrag von: Thobz 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
Titel: Re: Shell(...xxxx....) Befehle
Beitrag von: FriFra 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