Главная страница
    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.045 c
4-1107241251
Mikola
2005-02-01 10:00
2005.03.13
Один сеан за день!


14-1108751812
Кирилл
2005-02-18 21:36
2005.03.13
Как сжать папку 80 мб в архив 4 мб?


1-1109243441
Kostik__
2005-02-24 14:10
2005.03.13
INI-файлы


1-1109736546
01
2005-03-02 07:09
2005.03.13
Node.Data - указатель на структуру...


1-1109750399
zorik
2005-03-02 10:59
2005.03.13
работа с Excel





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