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 Problem beim benutzen von CreateProcessA und dem Arbeitsverzeichnis

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

15.10.2008, aktualisiert 10:18 Uhr, 3158 Aufrufe, 1 Kommentar

Hallo
Ich arbeite mit einem Excel 2003 unter Windows xp sp3.
In einem Excelmakro möchte ich ein Externes Programm starten und warten bis dieses beendet ist.
Das mache ich mit diesem Teil des Codes (nur mal der relevante Teil). Soweit funktioniert das auch.
01.
Private Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long, _ 
02.
ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, _ 
03.
ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, _ 
04.
ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, _ 
05.
ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, _ 
06.
lpProcessInformation As PROCESS_INFORMATION) As Long 
07.
Private Const NORMAL_PRIORITY_CLASS = &H20& 
08.
 
09.
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long 
10.
 
11.
 
12.
Sub ShellAndWait(ByVal Filename As String) 
13.
Dim RetVal As Long 
14.
Dim proc As PROCESS_INFORMATION 
15.
Dim StartInf As STARTUPINFO 
16.
 
17.
StartInf.cb = Len(StartInf) 
18.
 
19.
'Angegebenes Programm starten 
20.
RetVal = CreateProcessA(0&, Filename, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, StartInf, proc) 
21.
 
22.
'Das eigene Programm anhalten, bis das fremde beendet wurde 
23.
RetVal = WaitForSingleObject(proc.hProcess, INFINITE) 
24.
RetVal = CloseHandle(proc.hProcess)
Mein Problem ist nun, dass das aufgerufene Programm als Arbeitsverzeichnis "Eingene Dateien" verwendet. Wie kann ich das ändern?
Ichhabe schon versucht ihm das Verzeichnis des Programms als "lpCurrentDirectory" mit zu übergeben. Das bekomme ich aber einfach nicht hin. Weder direkt als String "C:\Verzeichnis" (führt zu einem Fehler, ist auch klar, war ein Versuch), noch als StrPtr("C:\Verzeichnis") (Programm startet einfach garnicht, Keine Fehlermeldung).
Meine Suche im Internet ergab auch keine Lösung. Hat das schonmal jemand gemacht und kann mit helfen?

miniversum
Mitglied: miniversum
15.10.2008 um 10:18 Uhr
Hat sich erledigt.
Bei der Funktionsdeklaration kann man den Parameter "lpCurrentDirectory" nicht nur as Long sondern auch as String angeben. Danach ist eine Direkte Zuweisung als String möglich.
Bitte warten ..
Ähnliche Inhalte
Windows Server
Benutzer problem bei sbs 2011
gelöst Frage von jensgebkenWindows Server5 Kommentare

Hallo Gemeinschaft, habe bei meinem SBS das Problem, dass wenn ich einen neuen Benutzer unter Windows Button - Systemsteuerung ...

Windows 8

Windows 8.1 Problem bei mehreren Benutzern

gelöst Frage von StarburnerWindows 84 Kommentare

Hallo Commuinity, vielleicht kann mir jemand hier helfen. Ich habe bislang mit einem Nutzerprofil in Windows 8.1 gearbeitet. Nun ...

Exchange Server

Exchange 2013 - ActiveSync-Problem bei einem Benutzer

Frage von mario87Exchange Server3 Kommentare

Hallo zusammen, ich habe bei einem Activesync-Nutzer Probleme mit der Synchronisation. Es handelt sich um ein Samsung S7. Auf ...

Batch & Shell

AD: alle Domänen Benutzer - Problem OU CN

gelöst Frage von lupoloBatch & Shell2 Kommentare

Servus, irgendwie klappt das bei mir nicht. Ich glaube es liegt an den Parametern für -SearchBase Ich möchte gerne ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 11 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 13 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 13 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser13 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...