![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что такое Progman ? [D5, Win95/98, NT4, Win2k, WinXP]
maxi © (2003-04-03 16:46:00)Что такое Progman ?
Intell (2003-04-04 10:12:00) [1]Хочешь повесить винду?
Вот пример, вроде Windows 2000 у знакомого намертво повесил. (Про 9X я вообще не говорю.)
В uses добавляете TLHelp32;
на кнопку присваиваете:
const
PROCESS_TERMINATE=$0001;
var
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
ContinueLoop:BOOL;
begin
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop)<>0 do
begin
if LowerCase(ExtractFileName(
(FProcessEntry32.szExeFile)))="kernel32.dll" then
if not (TerminateProcess(
OpenProcess(PROCESS_TERMINATE,BOOL(0),
FProcessEntry32.th32ProcessID),0)) then
MessageBoxEx(Application.Handle,
"Can`t kill windows kernel...",
"Warning",MB_ICONWarning+MB_OK,$0419);
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
Удачного вам ЗАВИСАНИЯ!
Clickmaker (2003-04-03 17:29:00) [2]Сдается мне, что это фрагмент кода Borland Socket Server... Но он же вроде не виснет...
DVM (2003-04-03 17:22:00) [3]Found := FindWindow(nil,"Progman") <> 0;
Зависания возможны там где циклы, здесь их нет.
Но неизвестно, что значит:
FProgmanOpen,
AddIcon.
maxi (2003-04-03 17:07:00) [4]Как вы думаете этот код не может приводить к зависанию под
операционкой типа NT_4_0 ?????????
var Found: Boolean;
begin
Found := FindWindow("Progman", nil) <> 0;
if Found <> FProgmanOpen then
begin
FProgmanOpen := Found;
if Found then AddIcon;
Refresh;
end;
DVM (2003-04-03 17:01:00) [5]Еще одно из окон Explorera
Иван Шихалев (2003-04-03 16:57:00) [6]Program Manager
Насколько я понимаю - наследство Win 3.1