Форум: "WinAPI";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизНе пойму... Что не так в этом коде? Найти похожие ветки
← →
Cosinus © (2005-01-17 18:52) [0]
program SCR_SV_ON;
uses WinTypes, WinProcs, Messages;
var
MN_HNDL:HWND;
begin
MHNDL:= GetCurrentProcess();
SendMessage(MHNDL,WM_SYSCOMMAND,SC_SCREENSAVE,1);
end.
Вместо простого перехода к ScreenSaver-у экран начинает бешенно моргать, такое ощущение, что он почти входит в него и тут же, поймав еще раз это сообщение, начинает все заново. Через разное кол-во времени (от 5-ти сек до минуты) входит моргание прекращается - он в скринсайвере...
Если я подключаю forms и вместоGetCurrentProcess();
используюApplication.Handle
, то все нормально.
← →
Anton_K © (2005-01-17 18:55) [1]В SendMessage надо handle окна, а не процесса передавать.
← →
MBo © (2005-01-17 18:57) [2]в этом коде не так... ладно, про то, то между рулем и креслом водителя, пропущу...
SendMessage посылается ОКНУ, а не дескриптору процесса
← →
Cosinus © (2005-01-17 19:03) [3]У-у-упс... Понял.
А как в таком случае получить Handle приложения?
← →
Kerk © (2005-01-17 19:04) [4]Cosinus © (17.01.05 19:03) [3]
А как в таком случае получить Handle приложения?
чивоооо!??!?!?
← →
Cosinus © (2005-01-17 19:05) [5]Не то...
Какую команду использовать. Простите.
← →
Kerk © (2005-01-17 19:19) [6]Cosinus © (17.01.05 19:05) [5]
Application.Handle ты правильно использовал. Только это не хендл приложения, а хендл окна, которое внутри класса TApplication сидит.
← →
Kerk © (2005-01-17 19:20) [7]Прежде чем получить хендл окно, надо это окно создать. Или создаешь его руками, или используешь TApplication.
← →
Cosinus © (2005-01-17 19:35) [8]
> Kerk ©
Мдя-я-я...
Но используяTApplication
, я начинаю использоватьQForms
, чего не хочется. То есть видимо придется создать окно ручками, а потом посылать сообщение.
Правильно ли я понимаю, что в итоге должно получиться что то вроде =>
NEW_WIN:=CreateWindow(...);
if NEW_WIN<>nil then
begin
SendMessage(NEW_WIN,...);
DestroyWindow(NEW_WIN,...);
end;
???
← →
Kerk © (2005-01-17 20:06) [9]
> QForms
хм.. может стоит Forms?
да. ты правильно понимаешь.
← →
Sumor (2005-01-18 00:31) [10]Не надо окон дополнительно создавать.
Возьми GetActiveWindow или по FindWindow найди себе что-нибудь и ему пошли это сообщение.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.028 c