![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменения подписи чужой программы [D7, Win95/98, Win2k, WinXP]
Stas © (2004-04-08 12:20:00)Могу ли я изменить Cption главного окна программы запущенной из моей программы при помощи ShellExecute ?
Mim1 (2004-04-10 20:59:00) [1]Вот пример
function EnumWindowsProc(hWindow : hWnd;
lParam : LongInt) : Bool
{$IFDEF Win32} stdcall; {$ELSE} ; export; {$ENDIF}
begin
Result := True;
if IsWindowVisible(hWindow) then
begin
SetWindowText(hWindow,'test');
result := false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var si:STARTUPINFO;
pi:PROCESS_INFORMATION;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
CreateProcess(nil,
'notepad.exe'
,nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,si,pi);
CloseHandle(Pi.hThread);
WaitForInputIdle(pi.hProcess,INFINITE);
CloseHandle(Pi.hProcess);
EnumThreadWindows(pi.dwThreadId,@EnumWindowsProc,0);
end;
Рамиль (2004-04-09 09:39:00) [2]
> А результат ShellExecute это его Handle или нет ?
Нет.
Используй CreateProcess
DeadMeat (2004-04-08 18:15:00) [3]Вообщето можно, но не так как вы это себе представляете... ShellExecute запускает программу, ассоциированную с указанным вами расширением... отсюда небольшой вывод - запустите программу, которая изменяет заголовок нужного вам окна... Насколько мне известно - это единственный способ изменить заголовок окна этой функцией... Хотя я конечно могу ошибаться...
Stas (2004-04-08 13:29:00) [4]А результат ShellExecute это его Handle или нет ?
Семен Сорокин (2004-04-08 12:28:00) [5]да, если знаешь его Handle