[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

ntu-kpi.comp.programming

Delphi - Close Application

Helene

4/20/2005 8:42:00 PM

ëÁËÏÊ ÆÕÎËÃÉÅÊ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁËÒÙÔÉÅ ÞÕÖÏÇÏ ÐÒÉÌÏÖÅÎÉÑ?

13 Answers

chook

4/20/2005 9:18:00 PM

0

Helene ?EUAO:
> eAEIE ?OIEAEAE ?U?IIINAOON UAEOUOEA ?OOICI ?OEIIOAIEN?
>
?OOICI...? nEICI ?OOICI!?
nEYI N ?OA?EIOII UOIUOI¦? OI
TerminateProcess()
:)

Helene

4/20/2005 10:13:00 PM

0

> > ëÁËÏÊ ÆÕÎËÃÉÅÊ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁËÒÙÔÉÅ ÞÕÖÏÇÏ ÐÒÉÌÏÖÅÎÉÑ?
> >
> þÕÖÏÇÏ...? ñËÏÇÏ ÞÕÖÏÇÏ!?

íÏÑ ÐÒÏÇÒÁÍÍÁ ÏÔËÒÙ×ÁÅÔ ÷ÏÒÄ, ÒÁÂÏÔÁÅÔ × ÎÅÍ.. ÐÏÔÏÍ ×ÓÅ ÓÏÈÒÁÎÑÅÔ É
ÚÁËÒÙ×ÁÅÔ ÆÁÊÌ. ðÏ ÉÄÅÅ, ÏÎÁ ÄÏÌÖÎÁ ÚÁËÒÙÔØ É ÓÁÍ ÷ÏÒÄ (ÐÏÉÇÒÁÌÓÑ - ÕÂÅÒÉ ÚÁ
ÓÏÂÏÊ).

> ñËÝÏ Ñ ÐÒÁ×ÉÌØÎÏ ÚÒÏÚÕÍ¦× ÔÏ
> TerminateProcess()
> :)

ëÁË ÍÎÅ ÏÐÒÅÄÅÌÉÔØ ÍÏÀ ÐÒÏÇÒÁÍÍÕ ÓÒÅÄÉ ÄÒÕÇÉÈ ÐÒÏÃÅÓÓÏ×? ÷ ÏÂÝÅÍ, ÐÒÉÍÅÒ
ÍÏÖÎÏ?

Delimer

4/21/2005 3:13:00 AM

0

ÐÏÓÌÁÔØ ÓÏÏÂÝÅÎÉÅ WM_CLOSE Ó ÐÏÍÏÝØÀ SendMessage
Handle ÐÒÉÌÏÖÅÎÉÑ ÍÏÖÎÏ ÎÁÊÔÉ Ó ÐÏÍÏÝØÀ FindWindow

á ×ÏÂÝÅ ÌÕÞÛÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÒÁÂÏÔÙ Ó ÷ÏÒÄÏÍ TWordAplication

> > > ëÁËÏÊ ÆÕÎËÃÉÅÊ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁËÒÙÔÉÅ ÞÕÖÏÇÏ ÐÒÉÌÏÖÅÎÉÑ?
> > >
> > þÕÖÏÇÏ...? ñËÏÇÏ ÞÕÖÏÇÏ!?
>
> íÏÑ ÐÒÏÇÒÁÍÍÁ ÏÔËÒÙ×ÁÅÔ ÷ÏÒÄ, ÒÁÂÏÔÁÅÔ × ÎÅÍ.. ÐÏÔÏÍ ×ÓÅ ÓÏÈÒÁÎÑÅÔ É
> ÚÁËÒÙ×ÁÅÔ ÆÁÊÌ. ðÏ ÉÄÅÅ, ÏÎÁ ÄÏÌÖÎÁ ÚÁËÒÙÔØ É ÓÁÍ ÷ÏÒÄ (ÐÏÉÇÒÁÌÓÑ - ÕÂÅÒÉ
ÚÁ
> ÓÏÂÏÊ).
>
> > ñËÝÏ Ñ ÐÒÁ×ÉÌØÎÏ ÚÒÏÚÕÍ¦× ÔÏ
> > TerminateProcess()
> > :)
>
> ëÁË ÍÎÅ ÏÐÒÅÄÅÌÉÔØ ÍÏÀ ÐÒÏÇÒÁÍÍÕ ÓÒÅÄÉ ÄÒÕÇÉÈ ÐÒÏÃÅÓÓÏ×? ÷ ÏÂÝÅÍ, ÐÒÉÍÅÒ
> ÍÏÖÎÏ?
>

Chapaev

4/21/2005 7:31:00 AM

0

> ñËÝÏ Ñ ÐÒÁ×ÉÌØÎÏ ÚÒÏÚÕÍ¦× ÔÏ
> TerminateProcess()
óÔÒÁÛÎÁÑ ×ÅÝØ. :-D ìÕÞÛÅ ÓÎÁÞÁÌÁ ÐÏÐÒÏÂÏ×ÁÔØ ÞÔÏ-ÔÏ ÍÅÎÅÅ ÒÁÄÉËÁÌØÎÏÅ --
WM_QUIT, WM_CLOSE, ...

Roman Scherbina

4/21/2005 7:56:00 AM

0

ïÈ É ÎÁÓÏ×ÅÔÏ×ÁÌÉ.

H> íÏÑ ÐÒÏÇÒÁÍÍÁ ÏÔËÒÙ×ÁÅÔ ÷ÏÒÄ, ÒÁÂÏÔÁÅÔ × ÎÅÍ.. ÐÏÔÏÍ ×ÓÅ ÓÏÈÒÁÎÑÅÔ
H> É ÚÁËÒÙ×ÁÅÔ ÆÁÊÌ. ðÏ ÉÄÅÅ, ÏÎÁ ÄÏÌÖÎÁ ÚÁËÒÙÔØ É ÓÁÍ ÷ÏÒÄ
H> (ÐÏÉÇÒÁÌÓÑ - ÕÂÅÒÉ ÚÁ ÓÏÂÏÊ).

åÓÌÉ ÓÁÍ ÏÔËÒÙ×ÁÅÛØ Word ÞÅÒÅÚ OLE (TWordApplication), ÔÏ :
wordobj := TWordApplication.Create(...) ;
....

wordobj.Quit ;
wordobj.Disconnect ;
wordobj.Free ;

--
ÒÏÍÁÎ

Roman E. Marchenko

4/21/2005 7:57:00 AM

0

Delimer <destroyer@its.ntu-kpi.kiev.ua> wrote:
> ?IOIAOO OIIAYAIEA WM_CLOSE O ?IIIYOA SendMessage
> Handle ?OEIIOAIEN IIOII IAEOE O ?IIIYOA FindWindow
eAIAI ?OIAAOOA ?IIO?AAUO ?IOIA OO?AUIICI ?UUI?A CreateProcess.

--
o O?AOAIEAI, oIIAI iAO?AIEI
mailto: vortex 'at' library.ntu-kpi.kiev.ua

Aleksey Salow

4/21/2005 9:24:00 AM

0

Roman Scherbina (Thu, 21 Apr 2005 07:55:52 +0000 (UTC)) ?EOAI
> wordobj.Free ;

oIAAEI?IAU OAEIIAIAOAO ?IIOUI?AOOON SysUtils.FreeAndNil AIN OAUOAUAIEN
IA?AEOI?, AAAACEOO ?IOII IAC?A ;)

--
Woody [woody@woodpecker.org.ua] [aleksey.salow@gmail.com] [ICQ 77180916]
() ascii ribbon campaign - against html mail
/\ [http://ar...] - against microsoft attachments

Chapaev

4/21/2005 9:29:00 AM

0

> > wordobj.Free ;
> óÏÂÁËÏ×ÏÄÙ ÒÅËÏÍÅÎÄÕÀÔ ÐÏÌØÚÏ×ÁÔØÓÑ SysUtils.FreeAndNil ÄÌÑ ÒÁÚÒÅÛÅÎÉÑ
> ÏÂßÅËÔÏ×, ÄÅÂÁÇÉÔØ ÐÏÔÏÍ ÌÅÇÞÅ ;)
üÔ ÔÒÏÛËÉ ÎÅ ÔÏ Free.

Dmitri Arekhta (Daemon)

4/22/2005 1:54:00 PM

0

>> TerminateProcess()
> óÔÒÁÛÎÁÑ ×ÅÝØ. :-D ìÕÞÛÅ ÓÎÁÞÁÌÁ ÐÏÐÒÏÂÏ×ÁÔØ ÞÔÏ-ÔÏ ÍÅÎÅÅ ÒÁÄÉËÁÌØÎÏÅ --
> WM_QUIT, WM_CLOSE, ...

äÁ ÌÁÄÎÏ, ÌÕÞÛÅ ÚÄÅÌÁÔØ ÔÁË :D

// ÷ËÌÀÞÅÎÉÅ, ÐÒÉÍÉÎÅÎÉÅ É ÏÔËÌÀÞÅÎÉÑ ÐÒÉ×ÉÌÅÇÉÉ.
// äÌÑ ÐÒÉÍÅÒÁ ×ÏÚØÍÅÍ ÐÒÉ×ÉÌÅÇÉÀ ÏÔÌÁÄËÉ ÐÒÉÌÏÖÅÎÉÊ 'SeDebugPrivilege'
// ÎÅÏÂÈÏÄÉÍÕÀ ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ìàâùè ÐÒÏÃÅÓÓÏ× × ÓÉÓÔÅÍÅ (ÚÁ×ÅÒÛÅÎÉÅ
ÐÒÏÃÅÓÏ×
// ÓÏÚÄÁÎÎÙÈ ÔÅËÕÝÉÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÐÒÉ×ÉÌÅÇÉÑ ÎÅ ÎÕÖÎÁ.

function ProcessTerminate(dwPID:Cardinal):Boolean;
var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
begin
Result:=false;
// äÏÂÁ×ÌÑÅÍ ÐÒÉ×ÉÌÅÇÉÀ SeDebugPrivilege
// äÌÑ ÎÁÞÁÌÁ ÐÏÌÕÞÁÅÍ ÔÏËÅÎ ÎÁÛÅÇÏ ÐÒÏÃÅÓÓÁ
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, hToken ) then
exit;

// ðÏÌÕÞÁÅÍ LUID ÐÒÉ×ÉÌÅÇÉÉ
if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue )
then begin
CloseHandle(hToken);
exit;
end;

tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

// äÏÂÁ×ÌÑÅÍ ÐÒÉ×ÉÌÅÇÉÀ Ë ÎÁÛÅÍÕ ÐÒÏÃÅÓÓÕ
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()< > ERROR_SUCCESS then exit;

// úÁ×ÅÒÛÁÅÍ ÐÒÏÃÅÓÓ. åÓÌÉ Õ ÎÁÓ ÅÓÔØ SeDebugPrivilege, ÔÏ ÍÙ ÍÏÖÅÍ
// ÚÁ×ÅÒÛÉÔØ É ÓÉÓÔÅÍÎÙÊ ÐÒÏÃÅÓÓ
// ðÏÌÕÞÁÅÍ ÄÅÓËÒÉÐÔÏÒ ÐÒÏÃÅÓÓÁ ÄÌÑ ÅÇÏ ÚÁ×ÅÒÛÅÎÉÑ
hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
if hProcess =0 then exit;
// úÁ×ÅÒÛÁÅÍ ÐÒÏÃÅÓÓ
if not TerminateProcess(hProcess, DWORD(-1))
then exit;
CloseHandle( hProcess );

// õÄÁÌÑÅÍ ÐÒÉ×ÉÌÅÇÉÀ
tkp.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
if GetLastError() < > ERROR_SUCCESS
then exit;

Result:=true;
end;

// îÁÚ×ÁÎÉÅ ÄÏÂÁ×ÌÅÎÉÅ/ÕÄÁÌÅÎÉÅ ÐÒÉ×ÉÌÇÉÉ ÎÅÍÎÏÇÏ ÎÅÐÒÁ×ÉÌØÎÙÅ. ðÒÉ×ÉÌÅÇÉÑ
ÉÌÉ
// ÅÓÔØ × ÔÏËÅÎÅ ÐÒÏÃÅÓÓÁ ÉÌÉ ÅÅ ÎÅÔ. åÓÌÉ ÐÒÉ×ÉÌÅÇÉÑ ÅÓÔØ, ÔÏ ÏÎÁ ÍÏÖÅÔ
ÂÙÔØ ×
// Ä×ÕÈ ÓÏÓÔÏÑÎÉÑÈ - ÉÌÉ ×ËÌÀÞÅÎÁÑ ÉÌÉ ÏÔËÌÀÞÅÎÁÑ. é × ÜÔÏÍ ÐÒÉÍÅÒÅ ÍÙ
ÔÏÌØËÏ
// ×ËÌÀÞÁÅÍ ÉÌÉ ×ÙËÌÀÞÁÅÍ ÎÅÏÂÈÏÄÉÍÕÀ ÐÒÉ×ÉÌÅÇÉÀ, Á ÎÅ ÄÏÂÁ×ÌÑÅÍ ÅÅ.

PS á ×ÏÏÂÝÅ Á×ÔÏÒ ÔÒÉÄÁ ÂÙ ÓËÁÚÁÌ ËÁË ÏÎ Ó ×ÏÒÄÏÍ ÒÁÂÏÔÁÅÔ.

Moderator

4/24/2005 4:42:00 PM

0


Thu, 21 Apr 2005 03:13:09 +0000 (UTC)
"Delimer" <destroyer@its.ntu-kpi.kiev.ua>

uAIA?AIEA [*] -- EUAUOI?IIA AEOEOI?AIEA.


* On Thu, 21 Apr 2005 03:13:09 +0000 (UTC) you wrote:

> ?IOIAOO OIIAYAIEA WM_CLOSE O ?IIIYOA SendMessage
> Handle ?OEIIOAIEN IIOII IAEOE O ?IIIYOA FindWindow

> a ?IAYA IO?UA EO?IIOUI?AOO AIN OAAIOU O ÷IOAII TWordAplication

> > > > eAEIE ?OIEAEAE ?U?IIINAOON UAEOUOEA ?OOICI ?OEIIOAIEN?
> > > >
> > > ?OOICI...? nEICI ?OOICI!?
> >
> > iIN ?OICOAIIA IOEOU?AAO ÷IOA, OAAIOAAO ? IAI.. ?IOII ?OA OIEOAINAO E
> > UAEOU?AAO ?AEI. ?I EAAA, IIA AIIOIA UAEOUOO E OAI ÷IOA (?IECOAION - OAAOE
> UA
> > OIAIE).
> >
> > > nEYI N ?OA?EIOII UOIUOI¦? OI
> > > TerminateProcess()
> > > :)
> >
> > eAE IIA I?OAAAIEOO IIA ?OICOAIIO OOAAE AOOCEE ?OIAAOOI?? ÷ IAYAI, ?OEIAO
> > IIOII?
> >

--
With Respect, ICQ# 34006064 ftp://reali...
Yuriy [haze at reality.org.ua] [Ahraywah Ohmankogah Skeeda]

np: /* silence */