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

Вниз

управление другой программой   Найти похожие ветки 

 
LinOS   (2003-06-27 08:01) [0]

Хочу сделать: что бы моя программа нажималм определённые кнопки в чужоп приложении. Можноли такое реализовать и как?


 
Poirot   (2003-06-27 08:17) [1]

Можно!
Тебе поможет MSDN (говорю сразу - РУССКОГО ВАРИАНТА НЕТ)!!!%)


 
LinOS   (2003-06-27 08:38) [2]

А пример кода может у кого есть?


 
Rawman   (2003-06-27 10:05) [3]

есть уже готовый модуль, непомню откуда выкочал, но могу кинуть


 
LinOS   (2003-06-27 10:19) [4]

Удалено модератором
Примечание: Личная переписка


 
Vetal   (2003-06-27 11:35) [5]

Удалено модератором
Примечание: Личная переписка


 
Anatoliy   (2003-06-27 16:28) [6]

Через WinAPI. Можно приблизительно так

function UnpackESSOFile(const FileName, Params, StartDir: string;
InitialState: TExecState): Integer;

CONST ShowCommands: array[TExecState] of Integer =
(SW_SHOWNORMAL, SW_MINIMIZE, SW_SHOWMAXIMIZED, SW_HIDE);
WinTitle="Установка Прайс-листа ООО "Эсо - Автотехникс"";
WinClass="#32770";

VAR Step:Integer;
Info:TShellExecuteInfo;
ExitCode:DWORD;

procedure AutoCommands(VAR AStep:Integer);
VAR H,H1:LongInt;
begin
case AStep of
0:begin
H:=FindWindow(WinClass,WinTitle);
if H<>0 then
begin
H1:=FindWindowEx(H,0,"Button","Далее >");
if H1<>0 then SendMessage(H1,BM_CLICK,0,0);
Inc(AStep)
end;
end;
1:begin
H:=FindWindow(WinClass,WinTitle);
if H<>0 then
begin
H1:=FindWindowEx(H,0,"WText","Инсталляция прошла успешно");
if H1<>0 then
begin
H1:=FindWindowEx(H,0,"Button","OK");
if H1<>0 then SendMessage(H1,BM_CLICK,0,0);
end;
end;
end;
end;
end;

begin
Step:=0;
FillChar(Info, SizeOf(Info), 0);
Info.cbSize := SizeOf(TShellExecuteInfo);
with Info do begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar(FileName);
lpParameters := PChar(Params);
lpDirectory := PChar(StartDir);
nShow := ShowCommands[InitialState];
end;
if ShellExecuteEx(@Info) then begin
repeat
AutoCommands(Step);
Application.ProcessMessages;
GetExitCodeProcess(Info.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
Result := ExitCode;
end
else Result := -1;
end;
function UnpackESSOFile(const FileName, Params, StartDir: string;
InitialState: TExecState): Integer;

CONST ShowCommands: array[TExecState] of Integer =
(SW_SHOWNORMAL, SW_MINIMIZE, SW_SHOWMAXIMIZED, SW_HIDE);
WinTitle="Установка Прайс-листа ООО "Эсо - Автотехникс"";
WinClass="#32770";

VAR Step:Integer;
Info:TShellExecuteInfo;
ExitCode:DWORD;

procedure AutoCommands(VAR AStep:Integer);
VAR H,H1:LongInt;
begin
case AStep of
0:begin
H:=FindWindow(WinClass,WinTitle);
if H<>0 then
begin
H1:=FindWindowEx(H,0,"Button","Далее >");
if H1<>0 then SendMessage(H1,BM_CLICK,0,0);
Inc(AStep)
end;
end;
1:begin
H:=FindWindow(WinClass,WinTitle);
if H<>0 then
begin
H1:=FindWindowEx(H,0,"WText","Инсталляция прошла успешно");
if H1<>0 then
begin
H1:=FindWindowEx(H,0,"Button","OK");
if H1<>0 then SendMessage(H1,BM_CLICK,0,0);
end;
end;
end;
end;
end;

begin
Step:=0;
FillChar(Info, SizeOf(Info), 0);
Info.cbSize := SizeOf(TShellExecuteInfo);
with Info do begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar(FileName);
lpParameters := PChar(Params);
lpDirectory := PChar(StartDir);
nShow := ShowCommands[InitialState];
end;
if ShellExecuteEx(@Info) then begin
repeat
AutoCommands(Step);
Application.ProcessMessages;
GetExitCodeProcess(Info.hProcess, ExitCode);
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
Result := ExitCode;
end
else Result := -1;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
3-44607
vil
2003-06-19 10:22
2003.07.14
Progress Bar


14-44876
SV
2003-06-18 16:44
2003.07.14
Tech ED 2003


14-44883
Dmitriy O.
2003-06-23 08:25
2003.07.14
---|Ветка была без названия|---


14-44871
FormCoord
2003-06-27 13:34
2003.07.14
Координаты компонета относительно Owner


1-44678
BOA_KAA
2003-06-30 13:31
2003.07.14
TDriveComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский