Форум: "WinAPI";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Внизпомогите плиз!!! Найти похожие ветки
← →
Bukerman (2002-12-16 16:06) [0]Господа мастаки, бьюсь второй день, не могу понять, может кто подскажет, есть такой код
var
Wnd : HWND;
lpdwProcessId : LPDWORD;
hProcess : Cardinal; // handle to the process
jjj : DWORD;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
GetWindowThreadProcessId(Wnd, lpdwProcessId);
jjj:=lpdwProcessId^;
hProcess:=OpenProcess(PROCESS_ALL_ACCESS, FALSE, jjj);
в таком виде работает, но выдает warning, что lpdwProcessId may not be initialized, если сначала проинициализировать: lpdwProcessId:=nil;
то компилируется нормально, но в runtime на строке GetWindowThreadProcessId(Wnd, lpdwProcessId);
ругается access violation в модуле user32.dll. Но самое интересное, что если оставить в таком виде (весь остальной код закомментирован), то хоть и выдает ворнинги, но работает, а если
его раскомментировать, то на строке
jjj:=lpdwProcessId^;
опять же access violation, что я делаю не так?
← →
Zz_ (2002-12-16 16:18) [1]lpdwProcessId := @jjj;
GetWindowThreadProcessId(Wnd, lpdwProcessId);
← →
MBo (2002-12-16 16:18) [2]ProcessId : DWORD;
GetWindowThreadProcessId(Wnd, ProcessId);
← →
MBo (2002-12-16 16:25) [3]Пардон
ProcessId : DWORD;
GetWindowThreadProcessId(Wnd, @ProcessId);
← →
Bukerman (2002-12-16 17:00) [4]Бооольшое спасибо!Вроде помогло.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c