mata2 Posted September 6, 2005 Posted September 6, 2005 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
mata2 Posted September 7, 2005 Author Posted September 7, 2005 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.
mata2 Posted September 7, 2005 Author Posted September 7, 2005 Már megoldottam. Ha érdekel valakit a megoldás, akkor közzéteszem.
nascar Posted September 8, 2005 Posted September 8, 2005 Ha már nyitottál neki egy topicot, akkor ez kötelezõ!
mata2 Posted September 8, 2005 Author Posted September 8, 2005 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.
marcee5 Posted September 25, 2005 Posted September 25, 2005 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
Attila1981 Posted September 27, 2005 Posted September 27, 2005 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!!!
arpsoft Posted September 27, 2005 Posted September 27, 2005 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.
Attila1981 Posted September 27, 2005 Posted September 27, 2005 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);
Viol3tt4 Posted March 30, 2007 Posted March 30, 2007 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 ) 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. í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
TheSaurus Posted March 30, 2007 Posted March 30, 2007 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.
Calyd Posted March 30, 2007 Posted March 30, 2007 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#.
Viol3tt4 Posted March 30, 2007 Posted March 30, 2007 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.
Calyd Posted March 30, 2007 Posted March 30, 2007 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. 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.
Viol3tt4 Posted March 30, 2007 Posted March 30, 2007 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 Hiszen ezt a programot éppen a fiaim ellen kívánom bevetni. (Mert nem tanulnak a 15 éves 'büdös kölkök', mindíg csak a számítógépen játszanának....)
Halasi Miklós Posted April 1, 2007 Posted April 1, 2007 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ó. Csak nem olyan könnyû kiiktatni.
Viol3tt4 Posted April 4, 2007 Posted April 4, 2007 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now