
21.09.2010, 08:57
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
Код:
function EnumThreadWndProc(hwnd: THandle; lParam: LPARAM): Boolean; stdcall;
var
len: Integer;
classname: array [0..$ff] of Char;
begin
Result:=True;
// если окно видимое, то
if IsWindowVisible(hwnd) then
begin
// получаем его класс
len:=GetClassName(hwnd, @classname, SizeOf(classname));
if len>0 then
// и заголовок меняем на класс
SetWindowText(hwnd, PChar(Copy(classname, 1, len)));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
startupinfoa: _STARTUPINFOA;
processinformation: _PROCESS_INFORMATION;
begin
// инициализируемся
ZeroMemory(@startupinfoa, SizeOf(_STARTUPINFOA));
startupinfoa.cb:=SizeOf(_STARTUPINFOA);
startupinfoa.wShowWindow:=SW_SHOWNORMAL;
// создаем процесс mshearts.exe
CreateProcess(nil, PChar('mshearts.exe'), nil, nil, False, 0, nil, nil, startupinfoa, processinformation);
// ждем максимум 10 сек пока не создадутся окна
WaitForInputIdle(processinformation.hProcess, 10000);
// найдем все окна нашего процесса
EnumThreadWindows(processinformation.dwThreadId, @EnumThreadWndProc, 0);
end;
|