![](/zhyk/misc/sp.gif) |
некая несовместимость функций в delphi XE3 - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
14.10.2013, 23:24
|
#16
|
|
|
|
Рыцарь-капитан
|
![](/zhyk/misc/regist.png) Регистрация: 14.06.2012
![](/zhyk/misc/messages.png) Сообщений: 511
![](/zhyk/misc/reput.png) Популярность: 7566
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
|
Re: некая несовместимость функций в delphi XE3
Sirioga, а ты знаешь что такого произошло в этой обнове XE -> XE2 , что перестал на ХР работать адекватно?
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
|
|
|
15.10.2013, 00:17
|
#17
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 05.03.2011
![](/zhyk/misc/messages.png) Сообщений: 40
![](/zhyk/misc/reput.png) Популярность: 841
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
|
Re: некая несовместимость функций в delphi XE3
Я просто оставлю это здесь.
Код:
7: function GetClassName; external user32 name 'GetClassNameA';
ХЕ2: function GetClassName; external user32 name 'GetClassNameW';
________________
Dinmaite пишет с меня, когда он на работе.
|
|
|
Пользователь сказал cпасибо:
|
|
15.10.2013, 10:19
|
#18
|
|
|
|
Пехотинец
|
![](/zhyk/misc/regist.png) Регистрация: 02.08.2009
![](/zhyk/misc/messages.png) Сообщений: 57
![](/zhyk/misc/reput.png) Популярность: 417
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 12
Поблагодарили 1 раз в 1 сообщении
|
Re: некая несовместимость функций в delphi XE3
Вот альтернатива без окон(совсем без них).
Клавиши послать не выйдет, а вот чтение\запись памяти пожалста(Хватит для инекций)
Код:
Procedure GetProcessList;
var
hP: THandle;
hM: hmodule;
prcs: array[0..$FFF] of dword;
cP, cM: cardinal;
i: integer;
NameProc: array[0..max_path] of char;
begin
if not EnumProcesses(@prcs, sizeof(prcs), cP) then
begin
//Ошибка доступа к списку процессов
Exit;
end;
for i := 0 to cP div 4 - 1 do
if (prcs[i]<>0) then
begin
hP := OpenProcess(PROCESS_ALL_ACCESS ,True, prcs[i]);
if hP <> 0 then
begin
EnumProcessModules(hP, @hM, 4, cM);
GetModuleFileNameEx(hP, hM, NameProc, sizeof(NameProc));
if ExtractFileName(string(NameProc))='elementclient.exe' then
Begin
//prcs[i] - Pid процесса PW, получить дальше список его окон проблемы составить не должно.
//зы. мне окна не требуются, так что я их не получаю даже.
end else CloseHandle(hP);
end else SysLogAddErr('Невозможно открыть процесс!');//<<Бывает и такое, особенно на Win vista и старше.
end;
end;
Код XE2, для D7 нужно пара мелких изменений в типах данных.
перешел на ХЕ5, правок в коде непотребовалось, все работает....
Последний раз редактировалось ToRcH2565; 17.10.2013 в 03:16.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:22.
|
![](/zhyk/misc/sp.gif) |