Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
ВнизOpen/save Найти похожие ветки
← →
ATLANTIDO (2002-03-04 15:02) [0]Может кто знает, как контролировать окна open/save для
ограничения действий пользователя, или вообще их тупо закрывать.
← →
Fellomena (2002-03-06 10:48) [1]см.
GetTopWindow
WM_CLOSE
WS_HIDE
hooks
Вариантов тьма 8)
← →
ted (2002-03-06 11:43) [2]>ATLANTIDO
У меня по сути такой же вопрос.......
Найду ответ напишу......
← →
ted (2002-03-06 11:53) [3]Используй
OFNHookProc
← →
ATLANTIDO (2002-03-07 00:04) [4]
> Используй
> OFNHookProc
А что это такое ?
← →
ATLANTIDO (2002-03-10 15:53) [5]Придумал 2 варианта:
Вариант1:
procedure TForm1.Timer2Timer(Sender: TObject);
var
H: THandle;
Buffer: array [0..255] of Char;
begin
H := GetForegroundWindow;
GetWindowText(H, Buffer, SizeOf(Buffer));
if (Pos("Открытие", Buffer)<>0) or (Pos("Сохранение",Buffer) >0) or (Buffer="Microsoft Internet Explorer") then
PostMessage(FindWindow(Nil, Buffer), WM_QUIT, 0, 0); //(1)
end;
Диалоговые окна находит, закрывает, + вешает программу, которая их открыла. Как быть ?
Вариант 2:
procedure KillProgram(const AHandle: THandle);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle: THandle;
ProcessID: Integer;
begin
GetWindowThreadProcessID(AHandle, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, False, ProcessId);
TerminateProcess(ProcessHandle, 4);
end;
В варианте 1 вместо PostMessage делаем KillProgram
(строка выделеная "1"). Теперь вместе с диалоговым окном
убивает и окно "родитель". Тоже непорядок !
← →
VuDZ (2002-03-10 21:58) [6]есть один извращённый метод, но не уверен, что прокатит под win9x - надо переопределить шаблоноткрытия/сохранения глобально и всё.
для win9x надо подправить ресурсы, а вот под win2k можно просто свою либу зарегистрировать.
← →
ATLANTIDO (2002-03-10 22:20) [7]
> есть один извращённый метод, но не уверен, что прокатит
> под win9x - надо переопределить шаблоноткрытия/сохранения
> глобально и всё.
Ты имееш в виду библиотеки свои подставить ?
← →
VuDZ (2002-03-10 22:30) [8]нет, под винтукеем можно зарегистрировать свои типы стандыртных окон - EDIT И пр., и перекрыть стандартные.
← →
ATLANTIDO (2002-03-10 22:40) [9]ого нифигасебе ! В форуме это не обсуждалось ? В каком направлении копать ?
← →
VuDZ (2002-03-10 22:48) [10]а ты прямо по своей теме ищи, только не обязательно для ХР, по-моему, было для win2k
← →
VuDZ (2002-03-10 22:54) [11]оп-с, вопросы перепутал :>
RegisterClass()
Windows NT/2000 or later: No window classes registered by a .dll are unregistered when the .dll is unloaded. A .dll must explicitly unregister its classes when it is unloaded.
Так что можно попробовать :>
Но где-то был флажок, не помню в какой ф-ии, который указывает винде, что эта либа содержит классы окон, которые надо загружать автоматически - найду - напишу
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c