ShellExecuteEx - gelöst

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

ShellExecuteEx - gelöst

Beitrag von uweb »

Ich wollte eigentlich nur mal schnell etwas ausprobieren und suche schon wieder seit Stunden den Fehler.
Vielleicht sieht ihn ja einer von euch.
...
edit
Ich habe den Fehler selbst gefunden. Der war so peinlich, daß ich nur noch die Lösung stehen lasse.

Code: Alles auswählen

AppVerb$ = "open"
AppName$ = "notepad.exe"
AppDir$ = "c:\windows\"

 
shExecInfo.SHELLEXECUTEINFO


  shExecInfo\cbSize=SizeOf(SHELLEXECUTEINFO)
  shExecInfo\fMask=#SEE_MASK_NOCLOSEPROCESS
  shExecInfo\hwnd=#Null;
  shExecInfo\lpVerb=@AppVerb$ ; der Trick : "runas"  statt "explore","open" oder "print".
  shExecInfo\lpFile=@AppName$
  shExecInfo\lpDirectory=@AppDir$
  shExecInfo\nShow=#SW_SHOWNORMAL


If ShellExecuteEx_(shExecInfo)
  Debug "ShellExecuteEx war erfolgreich."
  Debug shExecInfo\hProcess
  Debug shExecInfo\hInstApp ; Instanzhandle der Anwendung oder Fehlercode
Else
  Debug "ShellExecuteEx war NICHT erfolgreich."
  Select shExecInfo\hInstApp
    Case #SE_ERR_ACCESSDENIED
      Debug "Zugriff verweigert"
    Case #SE_ERR_FNF
      Debug "Datei nicht gefunden"
    Case #SE_ERR_NOASSOC
      Debug "Datei ist mit keinem Programm verknüpft" 
    Default
      Debug "ShellExecuteEx-Fehler : "+Str(shExecInfo\hInstApp)
  EndSelect
EndIf
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: ShellExecuteEx - gelöst

Beitrag von Falko »

Im Anfängerforum wäre es peinlich, aber bitte API-Sachen trotzdem hierher posten 8)

PS: Ich habe es mal hierher verschoben.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Re: ShellExecuteEx - gelöst

Beitrag von hjbremer »

sehr schön, aber was bedeutet der Trick ?

und was kann man damit machen, was RunProgramm nicht kann ?
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ShellExecuteEx - gelöst

Beitrag von ts-soft »

hjbremer hat geschrieben:sehr schön, aber was bedeutet der Trick ?

und was kann man damit machen, was RunProgramm nicht kann ?
Man kann den Verb ändern und Programm z.B. als Admin starten.


Aber warum ShellExecuteEx und nicht ShellExecute? Ist doch einfacher,
als alle Paras in einer Strukture zu übergeben.
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Re: ShellExecuteEx - gelöst

Beitrag von uweb »

Wie gesagt: Ich wollte eigentlich nur schnell etwas ausprobieren.
Es ging eben darum ob sich durch ShellExecuteEx gegenüber ShellExecute bei meinem Problem (das sich mittlerweile erledigt hat) irgendwelche Probleme ergeben.
Dabei bin ich übrigens auf eine gute deutschsprachige Adresse mit api-infos gestoßen : http://www.vbarchiv.net/api/api_shellexecuteex.html
Antworten