Hallo, ich muss in VBA ein Programm schreiben mit Telnet. Telnet bekomme ich geöffnet und muss nun ein paar Kommandos in das Fenster senden, aber daran scheiter ich. Shell
1 | Option Explicit |
2 | |
3 | Private Declare Function CloseHandle Lib "kernel32" ( _ |
4 | ByVal hObject As Long) As Long |
5 | Private Declare Function GetExitCodeProcess Lib "kernel32" ( _ |
6 | ByVal hProcess As Long, lpExitCode As Long) As Long |
7 | Private Declare Function OpenProcess Lib "kernel32" ( _ |
8 | ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _ |
9 | ByVal dwProcessId As Long) As Long |
10 | |
11 | Public Function ShellX( _ |
12 | ByVal PathName As String, _ |
13 | Optional ByVal WindowStyle As VbAppWinStyle = vbMinimizedFocus, _ |
14 | Optional ByVal Events As Boolean = True _ |
15 | ) As Long |
16 | Const STILL_ACTIVE = &H103& |
17 | Const PROCESS_QUERY_INFORMATION = &H400& |
18 | Dim ProcId As Long |
19 | Dim ProcHnd As Long |
20 | ProcId = Shell(PathName, WindowStyle) |
21 | ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId) |
22 | Do |
23 | If Events Then DoEvents |
24 | GetExitCodeProcess ProcHnd, ShellX |
25 | Loop While ShellX = STILL_ACTIVE |
26 | CloseHandle ProcHnd |
27 | End Function |
Button für Telnet
1 | Private Sub CommandButton1_Click() |
2 | 'FTP via Shell ausführen: |
3 | ShellX "telnet 199.199.199.199" |
4 | End Sub |
Die Telnet Session zu der IP Adresse wird gestartet und das CMD Fenster öffnet sich. Wie übergebe ich jetzt weitere Kommandos an das Fenster?