AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Shellexecute Stringvariabel anstatt stattische Dateiangabe
Thema durchsuchen
Ansicht
Themen-Optionen

Shellexecute Stringvariabel anstatt stattische Dateiangabe

Ein Thema von Jessa · begonnen am 9. Mai 2006 · letzter Beitrag vom 10. Mai 2006
Antwort Antwort
Jessa

Registriert seit: 9. Mai 2006
7 Beiträge
 
#1

Shellexecute Stringvariabel anstatt stattische Dateiangabe

  Alt 9. Mai 2006, 23:00
Schon wieder ich...

Ich hab nun immer noch ein Problem, das Programm was ich schreibe fügt nämlich mithilfe von String addieren ein eigendne Pfad sowie Ortsangabe zusammen.

Auf Deutsch muss ich ins ShellExecute nun einen String benutzen wenn es so laufen soll wie ich es will und nicht eine Eingabe wie 'c:\windows\datei.exe'.

Nur kommt dann immer der Fehler Inkompatible Typen: 'String' und 'PAnsiChar'.

Statische Möglichkeit
ShellExecute(Handle, 'open', 'c:\windows\datei.exe', nil, nil, SW_SHOWNORMAL); Doch ich möchte die Dynamische Variante und mit z (string) diesen Pfad verwenden, dabei ist z.b. z := 'c:\windows\system32\notepad.exe';.
ShellExecute(Handle, 'open', z, nil, nil, SW_SHOWNORMAL); Weiß wer weiter wie ich dieses Problem löse?
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Shellexecute Stringvariabel anstatt stattische Dateianga

  Alt 9. Mai 2006, 23:15
Hallo Jessa,

Ein TypeCasting sollte hier helfen:

ShellExecute(Handle, 'open', PChar(z), nil, nil, SW_SHOWNORMAL); Gruß Hawkeye
  Mit Zitat antworten Zitat
Jessa

Registriert seit: 9. Mai 2006
7 Beiträge
 
#3

Re: Shellexecute Komandozielen Programm ausführen

  Alt 9. Mai 2006, 23:42
Oh danke, das war ein guter Weg. Nun wie ist es denn mit Programmen mit Konsolenbefehlen?

"net start dienstname" z.b. wenn man ihn in der Konsole (CMD) aufruft? Leider klappt es bisher nicht.
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: Shellexecute Stringvariabel anstatt stattische Dateianga

  Alt 10. Mai 2006, 04:19
dann mußt du den 4. parameter auch verwenden (der bei dir nil is).
der gib die parameter an. der 3. parameter gibt nur das zu startende file an.

du müsstest also
ShellExecute(0, 'open', 'net', 'user', nil, SW_SHOW); bzw. wenn du auch was sehen willst
ShellExecute(0, 'open', 'cmd', ' /k net user', nil, SW_SHOW); machen
  Mit Zitat antworten Zitat
Jessa

Registriert seit: 9. Mai 2006
7 Beiträge
 
#5

Re: Shellexecute Stringvariabel anstatt stattische Dateianga

  Alt 10. Mai 2006, 08:38
Nun der Befehl funktioniert und die gewünschte Funktion auch nur mit folgenden Problemen:

1. Es öffnen sich 2 Konsolen, eine führt den Befehl aus die andere sagt das es schon ausgeführt wird.

2. Wie kann ich Shellexecute veranlassen darauf die cmd (Konsole) wieder zu schließen?
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#6

Re: Shellexecute Stringvariabel anstatt stattische Dateianga

  Alt 10. Mai 2006, 13:52
Hallo,

zu 2.: Mit dem Parameter /C (zu den anderen).

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz