Главная страница
    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.031 c
1-1109248438
evg00
2005-02-24 15:33
2005.03.13
DBGrid


14-1109061668
__max__
2005-02-22 11:41
2005.03.13
Программы для настрйоки гитары.


14-1108546902
Romkin
2005-02-16 12:41
2005.03.13
С днем рождения, Delphi!


4-1106789720
Strech
2005-01-27 04:35
2005.03.13
Версия программы


1-1109325312
denis24
2005-02-25 12:55
2005.03.13
Неявное обращение к Stringlist





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