Jump to content
GSForum - Segélyvonal

Windows leállítása


Recommended Posts

Posted

Sziasztok!

 

Én egy olyan programot szeretnék csinálni, ami le tudja állítani a windowst. Nos ezzel a probléma az, hogy nem tudom, hogy hogyan kellene ezt a leállítást megírni Delphi-ben.

 

Elõre is köszönöm a segítségeteket: Attila

Posted

De jó, csak egy oolyan progi lesz ez a végén, hogy egy X idõ után autómatikusan állítsa le a windows-t. A többi része az egyszerû, de ezt a leállítósdit nem tudom.

Posted

Már megoldottam. Ha érdekel valakit a megoldás, akkor közzéteszem.

Posted

Ha már nyitottál neki egy topicot, akkor ez kötelezõ! :P

Posted

OK. akkor íme a megoldás foráskódja:

 

function TimedShutDown(Computer: string; Msg: string; Time: Word; Force: Boolean; Reboot: Boolean): Boolean;

var

  rl: Cardinal;

  hToken: Cardinal;

  tkp: TOKEN_PRIVILEGES;

begin

  if not OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then

    ShowMessage('Cannot open process token.')

  else

  begin

    if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid) then

    begin

      tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

      tkp.PrivilegeCount := 1;

      AdjustTokenPrivileges(hToken, False, tkp, 0, nil, rl);

      if GetLastError <> ERROR_SUCCESS then

       ShowMessage('Error adjusting process privileges.');

    end

  else

    ShowMessage('Cannot find privilege value.');

  end;

 

  Result := InitiateSystemShutdown(PChar(Computer), PChar(Msg), Time, Force, false)

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if not TimedShutDown('//Coputername', 'Leállíthatatlan procedura', 30, true, true) then

    ShowMessage('function failed...');

end;

 

Ennyi az egész. Ezt egy német fórumon találtam, és mûködik... Magamtól rá nem jöttem volna.

  • 3 weeks later...
Posted

:) Tudok egyszerübbet:

 

Számítógép leállítása(mintha a kikapcsolásra katintottál volna):

WinExec('shutdown.exe -s',SW_Hide)

 

Számítógép újraindítáa:

WinExec('shutdown.exe -r',SW_Hide)

 

De ez csak Windows 2000, XP-n mûködik!

 

Több fajta leállítási mód is van:

Futtatásba írd be hogy cmd, és a CMd-be meg hogy shutdown.

És kiírja, hogy még mint lehet.

 

marcee

Posted

Van egy Fõablak nevû formom, a Fõablak egyik gomjára kattintva elõjön a Ablak nevû formom. Az Ablak nevû formomonn van egy Szövegszerkesztõgomb és egy Visszagomb. A Szövegszerkesztõgombnak a megnyomására egy szövegszerkesztõ jön elõ új ablakban. Ebben a szövegszerkesztõben mûködik a másolás, új, mentés, nyomtatás, nyomtatás beállításai, betutipus, keresés, csere. Ugy van megadva hogy csak TXT-ként tudjak menteni, nyitni. Ha elmentek, vagy megnyitok valamit, és kilépek a Szövegszerkesztõbõl, visszakerülök az Ablak formra. NA EDDIG EZ JÓL Mûködik. Most jön a hiba. Ha megnyomom a Vissza gombot, hogy visszakerüljek a Föablakra, akkor leáll olyan futási hibával hogy nemtudja megnyitni a Fõablakban lévõ háttérképet. Ugyanaz a háttérképet használom a Fõablakba és a Ablak formba. Csak mentésnél és nyitásnál jelenik meg ez a hiba!

Tud nekem valaki segíteni, nagyon sürgõs!!!

Posted

Mivel nem nagyon tudom, mi lehet a hiba, ezért egy kerülõ megoldást javaslok.

Készíts a háttérképrõl egy másolatot más néven, aZ egyik formba az egyiket a másikba a másikat rakjad be.

Posted

Már megoldottam, a hiba az volt hogy ha máshová mentettem a txt-t akkor nem talált vissza a projekt mappájába, azért keresett minden képet és adatot.

Már megadtam a képek, videok utvonalát ahol szükséges de a fájlokét nemtudom

 

Ezzel a paranccsal megnyitok egy fájlt.

 

ShellExecute(handle,nil, ‘mappa\fajl.kierjesztés’ ,nil,nil, SW_SHOWNORMAL);

 

 

Na most, nekem meg kell adni a könyvtár lekérdezést, hogy mi hol van

Pl.

....LoadFromFile := xxxx.workingdirectory+’kep.bmp’; - így megy a kép

 

Hogyan tudom megadni ugyanezt a fájl betöltésénél??

Így nem ment:

 

ShellExecute(handle,nil, ‘xxx.workingdirectory+\mappa\fajl.kierjesztés’ ,nil,nil, SW_SHOWNORMAL);

  • 1 year later...
Posted

Sziasztok !

 

Talán nem ebbe a topikba való, de a leállításhoz sok köze van a kérésnek.

 

Nagyon kezdő vagyok és tudatlan, régen csak DOS-os programokat írtam C/C++-ban.

Sok-sok olvasgatás után úgy döntöttem a Delphi program jó lesz a jövőbeni windows-os programozgatásokhoz.

 

Sürgősebb lenne a dolog, minhogy még előbb megtanuljak egy új programnyelvet, valaki küldhetne egy Delphi forrást a következő "problémához". Sajnos intenetes kutatásaim nem jártak eredménnyel:

 

Egy olyan (gyermek elleni :démonikacaj: ) korlátozást szeretnék bevezetni a számítógépen, hogy csak egy megadott időintervallumban fusson.

Konkrétabban : hétköznap 18-20 óráig, hétvégén 14-20 óráig. Amennyiben nem teljesül a feltétel, egyszerűen kapcsoljon ki a gép (esetleg kiírhatja egy ablakba, hogy csak "ettől -eddig" használható). Hogy csökkentett módban is induljon a program azt majd kitalálom hogyan! A BIOS-t lejelszavazom, ott nem lehet csalni. :Sír:

 

Igazából ezt a DOS-os korszak idején megoldottam C-ben, de az a program most XP alatt nem ér semmit :(

 

Tudom, hogy minden program feltörhető, minden korlátozás feloldható, de egy darabig talán jó lesz.

 

 

Köszönettel

 

Posted

Csökkentett módban talán indulnia se kéne, mert oda mezei felhasználó tudtommal be se léphet, csak rendszergazda.

Egy Delphi programot pedig még egy kezdõ felhasználó is ki tud lõni, sajnos.

Most tesztelem a PowerPro ezirányú képeségeit, eddig jónak tûnik.

Posted

Ha C++-ban otthon vagy, akkor szerintem most is, de a jövõben mindenképp a Visual Studio lenne számodra szerintem az ideálisabb, nem? Ott van C++ és C#.

Posted

TheSaurus : Csökkentett módba mindenki beléphet, akinek van F8 gombja :), az említett programot megnézem, de leginkább egy Delphi-s forrásra vágyom ;)

 

Calyd: köszönöm ezirányú invitálásodat, de elõbb a Delphit próbálnám ki. Ezt legalább már letöltöttem a Borland oldaláról és ami a fõ : ingyenes.

 

 

Posted

Tudtommal csak egy Turbo Delphi ingyenes, ami azt hiszem korlátozott lehetőségekkel bír. De végülis lényegtelen. A Visual Studio is ingyenes, ha olyan felsoktatási intézmény tagja vagy, aki benne van az MSDNAA-ban. :D Nekem személy szerint egyébként semmi bajom a Delphi-vel, sőt. Csak gondoltam neked talán jobban fekszik a Studio. Az konkrétan Microsoft fejlesztés, direkt Windows-os programok készítésére, ezért is ajánlottam.

Posted

Calyd : Kedves tõled, hogy próbálsz rábeszélni a Visual Studio-ra. De tudod mit, ha a küldesz egy Studioban készült forrásprogramot, ami a kérésemet tartalmazza, akkor rátérek erre a programnyelvre.

 

Sajnos a koromnál fogva már rég kinõttem az iskolapadokból :upsz: Hiszen ezt a programot éppen a fiaim ellen kívánom bevetni. :pislog:

 

(Mert nem tanulnak a 15 éves 'büdös kölkök', mindíg csak a számítógépen játszanának....) :S

Halasi Miklós
Posted

Akkor milyen jól jön majd a Vista neked, amiben van szülõi felügyelet! ;) Annak a kikerülése már azért erõsebb tudást igényel, bár ez is megoldható. :hááát: Csak nem olyan könnyû kiiktatni. ;)

Posted

A hétvégén volt lehetõségem töltögetni (Visual C#) és olvasni rengeteget.

Ebbõl kifolyólag igazat kell adnom Calyd-nak,... és áttérek a C# -re.

Bocs mindenkitõl, de a kért Delphis forrást most már C#-ben keresem tovább.

Sziasztok.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...