![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
есть такой код:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
p:PROCESSENTRY32;
ct:cardinal;
th:cardinal;
mp:array[0..255] of char;
mm:pchar;ts:TSearchRec;
sst:STARTUPINFO;
ss,s:string;
begin
ct:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Process32First(ct,p);
while Process32Next(ct,p) do begin
begin
if ExtractFileName(Application.ExeName)=string(p.szExeFile) then
form1.Tag:=form1.Tag+1;
OpenProcessToken(p.th32ProcessID,TOKEN_READ,th);
ListBox1.Items.Add(Format('%s - %s', [inttostr(p.th32ProcessID), string(p.szExeFile)]))
end;В седьмой delphi все работало нормально, а в XE при компиляции на строке Код:
OpenProcessToken(p.th32ProcessID,TOKEN_READ,th); Цитата:
|
|
#2
|
||||
|
||||
|
Разное кол-во параметров.
|
|
#3
|
||||
|
||||
|
посмотри как у OpenProcessToken последний параметр объявлен. через var или через указатель. если через указатель, то объяви как th PHandle.
|
|
#4
|
|||
|
|||
|
все равно ругает=(
|
|
#5
|
||||
|
||||
|
покажи объявление OpenProcessToken
|
|
#6
|
||||
|
||||
|
Ctrl+Shift+Space - посмотреть аргументы функции.
|