Непонятки с Toolhelp

Модератор: Модераторы

Непонятки с Toolhelp

Сообщение osetsky » 23.02.2009 18:43:41

Решил потренироваться с WInCE. KOL&MCK завелось без проблем. А вот простой порт срезался на взлете.
Вот обьявления :
Код: Выделить всё
const
  ToolHlp = 'Toolhelp.dll';
type
  tagPROCESSENTRY32 = record
    dwSize: DWORD;
    cntUsage: DWORD;
    th32ProcessID: DWORD;       // this process
    th32DefaultHeapID: DWORD;
    th32ModuleID: DWORD;        // associated exe
    cntThreads: DWORD;
    th32ParentProcessID: DWORD; // this process's parent process
    pcPriClassBase: Longint;   // Base priority of process's threads
    dwFlags: DWORD;
    szExeFile: array[0..MAX_PATH - 1] of WChar;// Path
  end;
  PROCESSENTRY32 = tagPROCESSENTRY32;
  PPROCESSENTRY32 = ^tagPROCESSENTRY32;
  LPPROCESSENTRY32 = ^tagPROCESSENTRY32;
  TProcessEntry32 = tagPROCESSENTRY32;

function CreateToolhelp32Snapshot(dwFlags, th32ProcessID: DWORD): THandle;external ToolHlp name 'CreateToolhelp32Snapshot';
function Process32First(hSnapshot: THandle; lppe: LPPROCESSENTRY32{var lppe: TPROCESSENTRY32}): BOOL;external ToolHlp name 'Process32First';


Вот вызов:
Код: Выделить всё
var
  SnapShot: THandle;
  pe32    :TPROCESSENTRY32;
begin
  SnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
    if SnapShot <> 0 then
    begin
      pe32.dwSize := SizeOf(TPROCESSENTRY32);
      if Process32First(SnapShot, @pe32) then
      begin
        ListBox1.Add('! '+pe32.szExeFile);
      end else ListBox1.Add('Ошибка № '+ Int2Str(GetLastError));
    end
    else ListBox1.Add('Снэпшота нет!!! '+ Int2Str(GetLastError));
    CloseHandle(SnapShot);
end;

Получаю ошибку № 87 - Invalid parameter. 4-й час туплю, гуглю, курю msdn - и нифига не понимаю. Работающий в delphi код отличается только тем, что в структуре AnsiChar вместо Widechar.
osetsky
незнакомец
 
Сообщения: 4
Зарегистрирован: 23.02.2009 17:45:07
Откуда: Владивосток

Re: Непонятки с Toolhelp

Сообщение Mr.Smart » 23.02.2009 23:16:06

Дело в том, что API WinCE немного отличается от API Windows
Ну предположим проблемма в этом клик, хотя может и не только в этом.

з.ы. Читайте матчасть, а именно MSDN для WinCE (Windows Mobile).
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Непонятки с Toolhelp

Сообщение osetsky » 24.02.2009 03:09:34

Ай, спасибо! Завелось.
Вот уж точно, смотрю в книгу - вижу фигу.
Глаз цепляется за всякие "must be set to.. ", которые в общем-то не так уж и "must" а то что в структуре на два поля больше - не видит.
osetsky
незнакомец
 
Сообщения: 4
Зарегистрирован: 23.02.2009 17:45:07
Откуда: Владивосток


Вернуться в WinCE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru