Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Reboot #KAYNAK#

Konu, 'Pascal / Delphi / Delphi.NET' kısmında hmustak tarafından paylaşıldı.

  1. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    Bu kod ile sistemi tekrar başlatabilirsiniz. w2000 ve winXP de çalışmayabilirler. Deneyin çalışıp çalışmadığını yazın :)
    Herkeze kolay gelsin...

    asm
    cli
    @@WaitOutReady:
    in al,64h
    test al,00000010b
    jnz @@WaitOutReady
    mov al,0FEh
    out 64h,al
    End;
     
  2. Volkan Uzun

    Volkan Uzun Daimi Üye

    Kayıt:
    14 Kasım 2002
    Mesajlar:
    3,312
    Beğenilen Mesajlar:
    0
    Meslek:
    Software Developer @ DELL
    Şehir:
    Skype
    tahmin ettigim reboot etmedi w2k da :)
    windows xpde etmedi.
    w2k da ve windows xpde reboot etmeden once privilege almak gerekiyor, o yüzden reboot etmiyor sanırım.
    verdigi hata : "exception priviliged ..."
    kolay gele :)
     
  3. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    yaa hmustak bişi sorabilir miyim?

    Annadığım kadarı ile bu kodlar asm kodları !!!

    Win API ile daha klay olmaz mıydı? Bildiğim kadarı ilede Win XP ve Win2000'de çalışıyorlar...
     
  4. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    ASM bana daha çekici geliyor. Neden bilmiyorum. (arkhe bilir :D )
    ama sen istersinde ben yazmam mı?

    Kullanacağınız api ;

    ExitWindowsEx(a,0);

    a parametresi yerine ;
    EWX_LOGOFF yada 0 : Oanda çaılşmakda olan kullanıcıyı kapatır. Yeniden başlatır.
    EWX_SHUTDOWN yada 1 : Windowsu kapatır ve bilgisyaarı kapatabilirsiniz ekranı çıkar.
    EWX_REBOOT yada 2 : Bilgisayarı yeniden başlatır.
    EWX_POWEROFF yada 3 : Shutdownla aynıdır. Extra olarak, sistem güç kesmeyi destekliyorsa, sistemin gücünü keser.
    EWX_FORCE yada 4 : Sonlandırılmamış uygulamalar içinkullanıcıdan onay ister.


    Bu parametre değerlerini CTRL+SPACE yardımı ile çıkan listede bulabilirsiniz :)

    Hep okumak olmaz arkadaşlar, yazalımda biraz :)

    @sanal programcı
    ewet, zaten yazmıştım bunu. Hatırlarsanız bi dönem elektronik devreler çok ünlüydü. Etrafta VB ile dolaşan port kontrol programları dolaşıyordu. O dönem bende onların DELPHİ versiyonlarını yazma gayreti içindeydim. İşte ozamanlar anladım ASM ile w2k nın pek anlaşamadığını :D
    Yinede denediğin için theshekkur....
     
  5. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    // Buda işinize yarayabilir... :D:D

    WinExec(PChar('Rundll32.exe user,ExitWindows'),SW_SHOWNORMAL);


    Paylaşalım arkadaşlar. Hertürlü bilgimizi paylaşalım. Bayrağımızı öne götürmek kadar, finale yaklaşmış çok bayrağımızın olmasıda ön%mli...
    Yapıcı olalım, Hakkı HOCAnın izinden, paylaşmaya devam edelim. Desteklerinizi bekliyorum. :)
     
  6. ArkHe

    ArkHe Daimi Üye

    Kayıt:
    24 Temmuz 2002
    Mesajlar:
    812
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci
    Şehir:
    Kocaeli
    :hiohahoha
     
  7. Volkan Uzun

    Volkan Uzun Daimi Üye

    Kayıt:
    14 Kasım 2002
    Mesajlar:
    3,312
    Beğenilen Mesajlar:
    0
    Meslek:
    Software Developer @ DELL
    Şehir:
    Skype
    ciihh ExitWindowxEx apisini windows nt/xp/2000 de EWX_POWEROFF, EWX_SHUTDOWN ve EWX_REBOOT ile cagirmak için mutlaka bazı privilege almak gerekir. yoksa kod calismaz.
    ben delphi hic bilmiyorum vc++ biliyorum.orda denedimde %100 emin olmak icin calismadi. return koda bakıp GetLastError 'a baktıgımda karsilastigim cevap : gerekli islemi yapmak icin hakkınız yok türünden bir cevaptı
    aslinda assembeler ile windows ailesinin bir sorunu yok, sadece daha kararli calismak için, bazı hakları sistemden istemediğiniz sürece size izin vermez. :rolleyes:
     
  8. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    farklı bir çözüm varmı?
     
  9. Volkan Uzun

    Volkan Uzun Daimi Üye

    Kayıt:
    14 Kasım 2002
    Mesajlar:
    3,312
    Beğenilen Mesajlar:
    0
    Meslek:
    Software Developer @ DELL
    Şehir:
    Skype
    evet privilege almak için tonla api cagirmak gerekiyor :D
     
  10. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    :D
    alla alla :D


    :super:

    :cool:
     
  11. gungor87

    gungor87 Yeni Üye

    Kayıt:
    5 Şubat 2007
    Mesajlar:
    10
    Beğenilen Mesajlar:
    0
    Meslek:
    bilgisayar programcisi
    Şehir:
    antalya
    Procedure TGGenel.Set_Bil_Kapat(Value: integer; oylesine: Boolean);
    function SetPrivilege(privilegeName: string; enable: boolean): boolean;
    var
    tpPrev,
    tp : TTokenPrivileges;
    token : THandle;
    dwRetLen : DWord;
    begin
    result := False;
    OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, token);
    tp.PrivilegeCount := 1;
    if LookupPrivilegeValue(nil, pchar(privilegeName), tp.Privileges[0].LUID) then
    begin
    if enable then
    tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
    else
    tp.Privileges[0].Attributes := 0;
    dwRetLen := 0;
    result := AdjustTokenPrivileges(token, False, tp, SizeOf(tpPrev), tpPrev, dwRetLen);
    end;
    CloseHandle(token);
    end;
    begin
    if Oylesine then begin
    SetPrivilege('SeShutdownPrivilege', true);
    case value of
    1: ExitWindowsEx(EWX_FORCE, 0);
    2: ExitWindowsEx(EWX_LOGOFF, 0);
    3: ExitWindowsEx(EWX_POWEROFF, 0);
    4: ExitWindowsEx(EWX_REBOOT, 0);
    5: ExitWindowsEx(EWX_SHUTDOWN,0);
    end;
    SetPrivilege('SeShutdownPrivilege', False);
    end;
    end;

    bu kodu incelersen isini gorecektir
    iyi calismalar
     
  12. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    bu topik yazıldığından bu yana windows 2 işletim sistemi tanıttı :p