Autor Beitrag
mk2
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72

WIN 2000
D4 Prof
BeitragVerfasst: Mi 28.09.05 20:04 
Hallo,

ich möchte ein Programm mit CreateProcess starten und zwar minimiert. Wie das mit dem minimieren theoretisch geht, hab ich verstanden -glaub ich- , nur leider funktioniert's nicht., das programm startet zwar aber nicht minimiert. Naja, hier ist jedenfalls der Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
  
  //...
  FillChar(proc_infoVST, sizeof(TProcessInformation), 0);
  FillChar(startinfoVST, sizeof(TStartupInfo), 0);
  startinfoVST.cb := sizeof(TStartupInfo);
  startinfoVST.dwFlags := STARTF_USESHOWWINDOW;
  startinfoVST.wShowWindow:= SW_SHOWMINNOACTIVE;
  if CreateProcess(nil'c:\temp\lm-9\lm-9.exe'nil,
      nil, false, CREATE_DEFAULT_ERROR_MODE
      + NORMAL_PRIORITY_CLASS, nilnil, startinfoVST,
      proc_infoVST) then
  begin
  //...


wenn jemand den Fehler sieht, wäre ich sehr dankbar. Oh, btw. BS ist Win XP home und programmiert wird in Delphi 4, falls das wichtig ist.

Vielen Dank
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 28.09.05 20:15 
benutz mal SW_SHOWMINIMIZED und verknüpfungen am besten mir OR und nicht mit +

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
mk2 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72

WIN 2000
D4 Prof
BeitragVerfasst: Do 29.09.05 13:29 
Danke, hab ich gemacht, hat aber nix geholfen. Andere Ideen?

LG mk2
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Do 29.09.05 14:11 
vielleicht liegts hier dran

ausblenden Quelltext
1:
For GUI processes, wShowWindow specifies the default value the first time ShowWindow is called. The nCmdShow parameter of ShowWindow is ignored. In subsequent calls to ShowWindow, the wShowWindow member is used if the nCmdShow parameter of ShowWindow is set to SW_SHOWDEFAULT.					


kannst ja mal tetsen ob das mit ner konsolenanwendung funktioniert

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
Nico80
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39

WIN XP
DELPHI 2006
BeitragVerfasst: Mi 09.08.06 14:20 
Möchte das Thema nochmals aufgreifen.

Ich möchte eine andere Anwendung mit CreateProcess minimiert starten lassen.
Mit einem Programm wie notepad.exe funktioniert alles einwandfrei.
Aber wenn ich eine stinknormale Delphi-Anwendung (also nur ein Formular mit Standardeinstellungen - Delphi 2006) starte, funktioniert es nicht?!?!

Habe auch schon CreateProcess mit ShellExecute ersetzt, aber das Problem bleibt bestehen.

Schon mal Danke für die Hilfe.
OldGrumpy
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 82



BeitragVerfasst: Mi 09.08.06 15:20 
Wenn das Programm sich selbst nen Modus setzt, dann hast Du (bzw. Dein Programm) an der Stelle halt nix mehr zu melden, denn der CreateProcess-Aufruf legt ja nur den Wert für den Programmstart fest. Wenn dann im Programm sowas wie Application.Restore() steht (oder was auch immer), isses Essig mit minimiert starten. Entweder dem Prozess dann halt alle naselang ne entsprechende Messsage schicken oder halt damit leben :)