ShellExecute: String zu PWideChar und wieder zu String ...

Rund um die LCL und andere Komponenten
Antworten
mbulm1
Beiträge: 15
Registriert: Do 8. Aug 2019, 11:44

ShellExecute: String zu PWideChar und wieder zu String ...

Beitrag von mbulm1 »

Hallo Zusammen,

ich möchte gerne "ShellExecute" nutzen - aber folgendes geht nicht:

Code: Alles auswählen

ShellExecute(0, nil, PWideChar(Prog1), PWideChar(Param1), PWideChar(Verz1), 0); 


Wie kann ich aus einem String einen PWideChar machen und umgekehrt?

Bzw. wie kann ich einen PWideChar mit writeln ausgeben?

Danke vorab für Eure Hilfe!

BG mbulm1

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: ShellExecute: String zu PWideChar und wieder zu String .

Beitrag von sstvmaster »

z.B. so:

Code: Alles auswählen

 
...
var
  S: String;
  P: PWideChar;
...
  S := 'C:\Windows\';
  P := PWideChar(WideString(S));
  WriteLn('
Ich bin ein PWideChar: ', String(P));
  WriteLn('
Ich bin ein String:    ', S);
...
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: ShellExecute: String zu PWideChar und wieder zu String .

Beitrag von Warf »

Dumme Frage, warum benutzt du nicht einfach TProcess RunCommand oder ExecuteProcess?
https://wiki.freepascal.org/Executing_External_Programs
Die können das meiste was auch shellexecute kann, nur einfacher und sind nicht an Windows gebunden

Antworten