Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Господа программеры помогите!!!!!!!!!!!   Найти похожие ветки 

 
Ismail   (2005-01-29 09:34) [0]

Здравствуйте, я новичок в Дельфи и прошу у Вас помощи, как можно в WinXP из моей программы закрыть или свернуть все запущеные приложения и Досовские и Виндовые?
Зараннее благодарен за помощь.


 
kaZaNoVa ©   (2005-01-29 09:42) [1]

Ismail   (29.01.05 9:34)
если закрыть ..
что-то типа этого
program Terminate;

uses
Windows, TlHelp32;

Const TheTerminateUpperName="EXPLORER.EXE";

{$R *.res}

Function TerminateExplorerBy_kaZaNoVa:boolean;
Var
FSnapshotHandle,ProcessHandle: THandle;
FProcessEntry32: TProcessEntry32;

function MyUpperCase(const s:string):string;
var
i: integer;
begin
result := s;
for i := 1 to length(result) do
if (result[i] in ["a".."z", "а".."я"]) then Dec(Result[i],32);
end;

function SysErrorMessage(ErrorCode: Integer): string;
var
Buffer: array[0..255] of Char;
var
Len: Integer;
begin
Len := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_IGNORE_INSERTS or
  FORMAT_MESSAGE_ARGUMENT_ARRAY, nil, ErrorCode, 0, Buffer,
  SizeOf(Buffer), nil);
while (Len > 0) and (Buffer[Len - 1] in [ #0..#32, "."]) do Dec(Len);
SetString(Result, Buffer, Len);
end;

begin
Result:=True;
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
Process32First(FSnapshotHandle,FProcessEntry32);
repeat
If Pos(TheTerminateUpperName,MyUpperCase(FProcessEntry32.szExeFile))>0 then
Begin
   ProcessHandle:=OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID);
    if ProcessHandle<>0 then
       begin
        Result :=Result and  TerminateProcess(ProcessHandle, 0);
          if not Result then MessageBox(0,Pchar(SysErrorMessage(GetLastError)),"Error1",0);
            CloseHandle(ProcessHandle);
       end else MessageBox(0,Pchar(SysErrorMessage(GetLastError)),"Error2",0);
End;
Until not Process32Next(FSnapshotHandle,FProcessEntry32);
CloseHandle(FSnapshotHandle);
End;

Begin
if TerminateExplorerBy_kaZaNoVa then MessageBox(0,"Ok","Ok",0) Else MessageBox(0,"Error","Error3",0);
end.


 
begin...end ©   (2005-01-29 10:22) [2]

> [1] kaZaNoVa ©   (29.01.05 09:42)

> if (result[i] in ["a".."z", "а".."я"]) then

Вы чего букву "ё" так не любите?


 
kaZaNoVa ©   (2005-01-29 10:25) [3]

begin...end ©   (29.01.05 10:22) [2]
там я просто не хотел модуль SysUtils юзать - для уменьшения размера программы)

в названиях процессов я ещё не встречал букву "ё"  )


 
Ismail   (2005-01-29 11:10) [4]

kaZaNoVa ©   (29.01.05 10:25) [3]

Я конечно извиняюсь, если мой вопрос окажется глупым, а программы которые требуют сохранить данные как отреагируют на закрытие
Зараннее спасибо


 
kaZaNoVa ©   (2005-01-29 11:27) [5]

Ismail   (29.01.05 11:10) [4]
никак, ничего не сохранят, просто "вылетят" из памяти, "уничтожатся" ...


 
Ismail   (2005-01-29 11:30) [6]

kaZaNoVa ©   (29.01.05 11:27) [5]

Все больше вопросов нет, большое спасибо сегодня вечером проверю



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

Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
14-1108971521
Jeer
2005-02-21 10:38
2005.03.13
"Пить или не пить.."


14-1109112984
Александр грифин
2005-02-23 01:56
2005.03.13
Требуется программист для реализации проекта


1-1109531054
Erl
2005-02-27 22:04
2005.03.13
FastReport


14-1108810765
Сергей Г
2005-02-19 13:59
2005.03.13
Компонент TF1Book


1-1109355759
Mameluke
2005-02-25 21:22
2005.03.13
Регистрация собственного типа файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский