Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизСчитать данные из другого приложения Найти похожие ветки
← →
bva © (2005-10-20 12:00) [0]Необходимо вытащить данные из двух TEdit другого приложения.
Помогите плиз.
делаю следущим образом но не получается.
Procedure FindPerso(FormName, WindName:string; var Account, Password:string);
Function GetText(WindowHandle: hwnd):string;
var txtLength : integer;
buffer: string;
begin
TxtLength := SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0);
txtlength := txtlength + 1;
setlength (buffer, txtlength);
sendmessage (WindowHandle,wm_gettext, txtlength, longint(@buffer[1]));
result := buffer;
end;
var I: Integer;
hSnapshoot: THandle;
pe32: TProcessEntry32;
hP:integer;
perso:string;
H, H2:hWnd;
begin
hSnapshoot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
i:=0;
if (hSnapshoot = -1) then
Exit;
pe32.dwSize := SizeOf(TProcessEntry32);
if (Process32First(hSnapshoot, pe32)) then
repeat
perso:=pe32.szExeFile;
if AnsiPos("PERSO.EXE",UpperCase(perso))<>0 then begin
i:=1;
H:=FindWindow(PChar(FormName),PChar(WindName));
H2:=FindWindowEx(H,H2,"TEdit",nil);
Account:=GetText(H2);
H2:=FindWindowEx(H,H2,"TEdit",nil);
Password:=GetTExt(H2);
break;
end;
until not Process32Next(hSnapshoot, pe32);
if i<>1 then begin
hP:=OpenProcess(PROCESS_TERMINATE, FALSE, GetCurrentProcessId );
TerminateProcess(hP,0);
end;
CloseHandle (hSnapshoot);
end;
← →
Leonid Troyanovsky © (2005-10-20 13:11) [1]
> bva © (20.10.05 12:00)
..
> hP:=OpenProcess(PROCESS_TERMINATE, FALSE, GetCurrentProcessId );
> TerminateProcess(hP,0);
Все предыдущее лишнее, т.е.
TerminateProcess(GetCurrentProcess, 0);
вполне достаточно.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c