Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Не работает GetWindowModuleFileName   Найти похожие ветки 

 
kami ©   (2005-12-09 19:46) [0]

Код из процедуры хука WH_KEYBOARD:
var
 pFileName:PChar;
//==========================================
GetMem(pFileName,MAX_PATH+1);
FileNameSize:=GetWindowModuleFileName(GetForegroundWindow,pFileName,MAX_PATH);
if FileNameSize<>0 then
 // вывод pFileName

FreeMem(pFileName);

Этот код все время возвращает имя моего исполняемого файла (Project1.exe), даже если активна другая программа. Это несмотря на то, что HWND активного окна возвращается правильно (смотрю в WinSpector Spy).
Прочитал страницу этой функции в MSDN раз 20, наверное...не увидел, чтобы GetWindowModuleFileName можно было использовать только для своей программы. Почему же определяется неправильно?

ЗЫ. "Обходное" решение, конечно, нашел - через открытие процесса активного окна и GetModuleBaseName, но очень интересно, что я не так сделал. Про необходимость получения каких-либо дополнительных прав вроде, не сказано :(


 
gdaujk ©   (2005-12-10 16:14) [1]

kami ©   (09.12.05 19:46)

Согласен, не работает.

PS: что, никто не знает что ли?


 
begin...end ©   (2005-12-10 16:51) [2]

http://delphimaster.net/view/4-1131958580/


 
kami ©   (2005-12-10 17:32) [3]

begin...end ©   (10.12.05 16:51) [2]
Ух, ёк... как там все сложно :)
P.S. Спасибо за ссылку, мои подозрения подтвердились.



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.362 c
14-1133527749
Максим
2005-12-02 15:49
2005.12.25
Все решено


10-1109669552
Redhopter
2005-03-01 12:32
2005.12.25
Закрытие com-хранилищ


3-1131438547
XGarik
2005-11-08 11:29
2005.12.25
Вложенный DataSet


1-1133177680
Dima_dvp
2005-11-28 14:34
2005.12.25
Динамически подгружать данные в массив


2-1133980108
SergP
2005-12-07 21:28
2005.12.25
Объявить константу и указать ее значения.