Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Вниз

Запускаю CreateProcess ом прогу как скрыть её окошко ?   Найти похожие ветки 

 
borya   (2002-12-26 13:29) [0]

Запускаю CreateProcess"ом прогу как скрыть её окошко
она сама грузит библитеки. и остаётся висеть окошко ака консольное как его спрятать ?


 
Song   (2002-12-26 13:46) [1]

Предпоследний параметр в CreateProcess(). У него есть полe wShowWindow


 
borya   (2002-12-27 08:37) [2]

Так ставлю SW_HIDE а ему по барабану, и после запуска ShowWindow тоже не действует


 
Севостьянов Игорь   (2002-12-27 11:36) [3]

Такого быть не может - код в студию... (А может это какая-нить DLL запускает свое окно ?)


 
Севостьянов Игорь   (2002-12-27 11:38) [4]

Кстати запускаемая тобой прога консольная ? Тогда скорее всего неверно CreateProcess юзаешь - для консольных есть некие отличия от неконсольных приложений


 
borya   (2002-12-27 12:44) [5]

Да консольная она
код

var si:STARTUPINFO;
pi:PROCESS_INFORMATION;
Sa,St:pSECURITYATTRIBUTES;
Begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.wShowWindow:=SW_HIDE;
New(Sa);New(st);
sa.nLength :=SizeOf(sa);
sa.lpSecurityDescriptor:=nil;
sa.bInheritHandle:=True;st:=sa;
CreateProcess(nil,PChar(exe),Sa,St,True,0,nil,pChar(dir),si,pi);

End;


 
Севостьянов Игорь   (2002-12-27 13:51) [6]

Похоже ты кое-что забыл. Попробуй вот это:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
hWindow: HWND;

implementation

{$R *.DFM}

function EnumThreadWndProc(Handle: THandle; lParam: Longint): Boolean; stdcall;
begin
hWindow := Handle;
Result := False;
end;

function ExecAndWait(const FileName, Params: ShortString;
const WinState: Word): Boolean;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: PChar;
R: DWORD;
begin
CmdLine := PChar(Filename + #32 + Params + #32);
FillChar(StartInfo, SizeOf(StartInfo), 0);
with StartInfo do
begin
cb := SizeOf(StartInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow := WinState;
end;
Result := CreateProcess(nil, CmdLine, nil, nil, False,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartInfo, ProcInfo);
{


 
borya   (2002-12-27 13:52) [7]

нет оно подписано С:\...\....\*.exe


 
Севостьянов Игорь   (2002-12-27 13:58) [8]


> borya (27.12.02 13:52)
> нет оно подписано С:\...\....\*.exe

Так какая проблема ? В моем примере вместо cmd.exe (приведен для примера) впиши С :\...\....\*.exe


 
borya   (2002-12-27 14:02) [9]

Спасибо
si.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;


 
borya   (2002-12-27 14:23) [10]

путаница вышла
там я пояснение хотел написать мол не библиотечкионо окошко
сенкс



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-87657
Alik
2003-02-10 23:49
2003.02.27
Компонент FlexCel


6-87598
Scoip
2003-01-10 15:48
2003.02.27
Доступ в иНет


3-87341
ArtemB
2003-02-11 08:44
2003.02.27
Сравнение и выборка


1-87417
Stdnet
2003-02-17 20:20
2003.02.27
Ститистика


14-87662
Poirot
2003-02-10 12:35
2003.02.27
Так что ж есть Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский