Bilgisayarı kapatma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
çetinkaya

Bilgisayarı kapatma

Mesaj gönderen çetinkaya »

S.A Arkadaşlar; ben butona basınca bilgisayarı tamamen kapatacak kod lazım. Sitede araduım ama onlar genelde saat ayarı ile yapılanlar var timer ile yapılan projeler var acaba elinde böyle bir kod olan var mı. ??
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Bilgisayarı kapatma

Mesaj gönderen conari »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
   tkHandle : THandle;
   BufferLun,ret : DWORD;
   tk,tkPrevious : TTokenPrivileges;
   LID : TLargeInteger;
   LUID : TLuIDAndAttributes;
   versione : TOSVersionInfo;
begin
   BufferLun := 1024;
   ret := 0;
   versione.dwOSVersionInfoSize := sizeof(versione);
   GetVersionEx(versione);
   if versione.dwPlatformId = VER_PLATFORM_WIN32_NT then
         begin
         tkHandle := GetCurrentProcess;
         OpenProcessToken(tkHandle,TOKEN_ALL_ACCESS,tkHandle);
         LookupPrivilegeValue(PChar(''),PChar('SeShutDownPrivilege'),LID);
         LUID.Luid := LID;
         LUID.Attributes := SE_PRIVILEGE_ENABLED;
         tk.PrivilegeCount := 1;
         tk.Privileges[0] := LUID;
         AdjustTokenPrivileges(tkHandle,False,tk,BufferLun,tkPrevious,ret);
      end;
      ExitWindowsEx(EWX_SHUTDOWN or EWX_PowerOff,0);
end;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
çetinkaya

Re: Bilgisayarı kapatma

Mesaj gönderen çetinkaya »

Tşk ederim sağol oldu kapattı bilgisayarı...
godbaba
Üye
Mesajlar: 10
Kayıt: 19 May 2009 02:37

Re: Bilgisayarı kapatma

Mesaj gönderen godbaba »

Ben şunu kullanıyorum :)

Kod: Tümünü seç

winexec('shutdown -s -t 00',0);
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Bilgisayarı kapatma

Mesaj gönderen conari »

Ozaman winexec yerine shellapi yi kullansan dahi iyi olur.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla