Главная страница
    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.034 c
3-1108449573
Гость
2005-02-15 09:39
2005.03.13
Как перейти на 500-ю запись таблицы?


4-1107128420
Intelect
2005-01-31 02:40
2005.03.13
Как программно загрузить драйвер в память! SYS!


1-1109607392
Шурка_прогер
2005-02-28 19:16
2005.03.13
аналог Static в Делфи?


14-1108746596
Kolan
2005-02-18 20:09
2005.03.13
Пошлите меня на нейронные сети :)


4-1106632831
SkierMax
2005-01-25 09:00
2005.03.13
Bios





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский