PC herunterfahren
Hi Leute,
wie kann ich den PC in den Ruhezustand versetzen?
bzw. Standby, Lock (WinTaste+L), ect...
Wie lauten die EWX Konstanten dafür?
Gruß
Scarabol
wie kann ich den PC in den Ruhezustand versetzen?
bzw. Standby, Lock (WinTaste+L), ect...
Wie lauten die EWX Konstanten dafür?
Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Hallole Ihr,
ich habe die Version von Fluid Byte verwendet um den PC herunterzufahren. Allerdings klappt es bei Win2000 in der Arbeit nicht, bei mir daheim mit XP daheim kein Problem). Auch klappt es nicht, wenn noch eine Anwendung offen ist ( Outlook, Excel ... ).
1.) Gibt es eine Möglichkeit den PC 100% herunterzufahren, egal ob noch Anwendungen offen sind?
2.) Kann das in der Arbeit vielleicht auch daran liegen, weil ich da an ein Netzwerk angemeldet bin?
3.) Gibt es eine Möglichkeit statt dem Herunterfahren einen Restart auszuführen, mit der "Eingabe" von dem Usernamen und Passwort für das Anmelden zum Netzwerk ( vorher in dem Programm gespeichert)? Der Grund für die Frage 3 ist, dass die PC's ab und zu mal heruntergefahren und wieder gestartet werden sollen, um danach wieder besser, schneller zu sein ( ist die Aussage von der IT-Abteilung ?!?! ), aber das dauert eine Weile. So dachte ich mir, schreibste ein Programm, wo das automatisch macht, wenn die Leute in der Mittagspause sind ( PC's sind in der Fertigung ).
Mein Code ist folgender:
ich habe die Version von Fluid Byte verwendet um den PC herunterzufahren. Allerdings klappt es bei Win2000 in der Arbeit nicht, bei mir daheim mit XP daheim kein Problem). Auch klappt es nicht, wenn noch eine Anwendung offen ist ( Outlook, Excel ... ).
1.) Gibt es eine Möglichkeit den PC 100% herunterzufahren, egal ob noch Anwendungen offen sind?
2.) Kann das in der Arbeit vielleicht auch daran liegen, weil ich da an ein Netzwerk angemeldet bin?
3.) Gibt es eine Möglichkeit statt dem Herunterfahren einen Restart auszuführen, mit der "Eingabe" von dem Usernamen und Passwort für das Anmelden zum Netzwerk ( vorher in dem Programm gespeichert)? Der Grund für die Frage 3 ist, dass die PC's ab und zu mal heruntergefahren und wieder gestartet werden sollen, um danach wieder besser, schneller zu sein ( ist die Aussage von der IT-Abteilung ?!?! ), aber das dauert eine Weile. So dachte ich mir, schreibste ein Programm, wo das automatisch macht, wenn die Leute in der Mittagspause sind ( PC's sind in der Fertigung ).
Mein Code ist folgender:
Code: Alles auswählen
Procedure ExitWindows(Flags.l)
Protected tkp.TOKEN_PRIVILEGES
Protected tkpNewButIgnored.TOKEN_PRIVILEGES
OpenProcessToken_(GetCurrentProcess_(),#TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY,@hdlTokenHandle)
; Get the LUID for shutdown privilege.
LookupPrivilegeValue_(0,"SeShutdownPrivilege",tkp\Privileges\Luid)
tkp\PrivilegeCount = 1 ; One privilege to set
tkp\Privileges\Attributes = #SE_PRIVILEGE_ENABLED
; Enable the shutdown privilege in the access token of this process.
AdjustTokenPrivileges_(hdlTokenHandle,0,tkp,0,0,0)
ExitWindowsEx_(Flags,0)
EndProcedure
Procedure hauptprogramm()
If OpenWindow(0, 0, 0, 360, 270, "Bilgisayar ne zaman kapatsın?", #PB_Window_SystemMenu |#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget| #PB_Window_ScreenCentered)
If LoadFont(1, "Arial", 9)
SetGadgetFont(#PB_Default, FontID(1))
EndIf
If CreateGadgetList(WindowID(0))
TextGadget(0, 80, 10, 250, 20, "Lütfen bilgisayarın kapatma zamanını girin")
TextGadget(1, 70, 40, 120, 20, "Tarihi işaretleyin")
TextGadget(2, 245, 40, 40, 20, "Saat")
TextGadget(3, 290, 40, 120, 20, "Dakikka")
CalendarGadget(4, 10, 70, 210, 180)
SpinGadget (5, 240, 70, 40, 20, 0, 23,#PB_Spin_ReadOnly |#PB_Spin_Numeric)
SetGadgetState (5, 0)
SpinGadget (6, 295, 70, 40, 20, 0, 59,#PB_Spin_ReadOnly |#PB_Spin_Numeric)
SetGadgetState (6, 0)
ButtonGadget(7, 240, 150, 100, 30, "Tamam")
EndIf
Repeat
EventID = WaitWindowEvent(1000)
EventGadget = EventGadget()
EventWindow = EventWindow()
MenuID = EventMenu()
Select EventID
Case #PB_Event_CloseWindow
Select EventWindow
Case 0 : quit =1
EndSelect
Case #PB_Event_Gadget
Select EventWindow
Case 0
Select EventGadget
Case 5
SetGadgetText(5, Str(GetGadgetState(5)))
Case 6
SetGadgetText(6, Str(GetGadgetState(6)))
Case 7
datuml.l = GetGadgetState(4)
abschaltjahrs.s=Str(Year(datuml.l))
abschaltmonats.s=Str(Month(datuml.l))
abschalttags.s=Str(Day(datuml.l))
abschaltstundes.s = Str(GetGadgetState(5))
abschaltminutes.s = Str(GetGadgetState(6))
abschaltjahrl.l=Year(datuml.l)
abschaltmonatl.l=Month(datuml.l)
abschalttagl.l=Day(datuml.l)
abschaltstundel.l = GetGadgetState(5)
abschaltminutel.l = GetGadgetState(6)
SetWindowState(0, #PB_Window_Minimize)
;HideWindow(0, 1)
EndSelect
EndSelect
EndSelect
datums.s=FormatDate("%dd:%mm:%yyyy %hh:%ii:%ss",Date())
jahrs.s=FormatDate("%yyyy",Date())
monats.s=FormatDate("%mm",Date())
tags.s=FormatDate("%dd",Date())
stundes.s=FormatDate("%hh",Date())
minutes.s=FormatDate("%ii",Date())
sekundes.s=FormatDate("%ss",Date())
jahrl.l=Val(jahrs.s)
monatl.l=Val(monats.s)
tagl.l=Val(tags.s)
stundel.l=Val(stundes.s)
minutel.l=Val(minutes.s)
;Debug datums.s+" "+jahrs.s+" "+monats.s+" "+tags.s+" "+stundes.s+" "+minutes.s+" "+sekundes.s
;Debug abschaltjahrs.s+" "+abschaltmonats.s+" "+abschalttags.s+" "+abschaltstundes.s+" "+abschaltminutes.s
If abschaltjahrl.l=jahrl.l
If abschaltmonatl.l=monatl.l
If abschalttagl.l=tagl.l
If abschaltstundel.l=stundel.l
If abschaltminutel.l=minutel.l
ExitWindows(#EWX_SHUTDOWN)
;Debug "Abschaltzeit"
EndIf
EndIf
EndIf
EndIf
EndIf
Until quit=1
EndIf
EndProcedure
hauptprogramm()
End
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Hi,
also die Leute aus der IT haben erstma recht, Windows müllt sich quasi selber zu....
Du könntest SetSystemPowerState_() verwenden, allerdings kann ich dir gerade nicht sagen wie du die Parameter setzten musst, da mir RAM-Alive und Hibernate-Technik nix sagen...
Gruß
Scarabol
also die Leute aus der IT haben erstma recht, Windows müllt sich quasi selber zu....
Du könntest SetSystemPowerState_() verwenden, allerdings kann ich dir gerade nicht sagen wie du die Parameter setzten musst, da mir RAM-Alive und Hibernate-Technik nix sagen...

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
RamAlive (Stand-By):
PC wird heruntergefahren, Arbeitsspeicher bleibt bestehen- Mainboard versorgt den RAM und seinen Manager mit Energie, sodass die Daten nicht verloren gehen.
Pro -> schnelle Aufweck-Zeit, keine Nutzung der HD, man kann sofort da weiterarbeiten wo man "aufgehört" hat (auch Fester und Programmzustände bleiben bestehen)
Kontra -> verbraucht minimal Energie, sollte also nur für ein paar Stunden im Akkubetrieb genutzt werden (Abnutzung des Rams
)
Hibernate (Ruhezustand):
PC wird heruntergefahren, der komplette Arbeitsspeicher wird auf die Festplatte geschrieben. Der PC ist komplett aus, verbraucht keinen Strom. Beim nächsten Hochfahren wird beim Starten von Windows das Hibernate-Flag geprüft, und falls vorhanden, wird von der Festplatte "bit-für-bit" der Zustand vor dem Herunterfahren eingelesen.
Pro -> kein Akkuverbrauch, schneller als Hochfahren, man kann nach kurzem Hochfahren sofort weitermachen wo man aufgehört hat (wie RAM-Alive)
Kontra -> wenn man das zu oft macht, müllt sich der Arbeitsspeicher natürlich mit den auf der Arbeit vorgekommenen Sachen zu, unter Umständen also langsamer, braucht länger zum Hochfahren als "Keep-Alive"
PC wird heruntergefahren, Arbeitsspeicher bleibt bestehen- Mainboard versorgt den RAM und seinen Manager mit Energie, sodass die Daten nicht verloren gehen.
Pro -> schnelle Aufweck-Zeit, keine Nutzung der HD, man kann sofort da weiterarbeiten wo man "aufgehört" hat (auch Fester und Programmzustände bleiben bestehen)
Kontra -> verbraucht minimal Energie, sollte also nur für ein paar Stunden im Akkubetrieb genutzt werden (Abnutzung des Rams

Hibernate (Ruhezustand):
PC wird heruntergefahren, der komplette Arbeitsspeicher wird auf die Festplatte geschrieben. Der PC ist komplett aus, verbraucht keinen Strom. Beim nächsten Hochfahren wird beim Starten von Windows das Hibernate-Flag geprüft, und falls vorhanden, wird von der Festplatte "bit-für-bit" der Zustand vor dem Herunterfahren eingelesen.
Pro -> kein Akkuverbrauch, schneller als Hochfahren, man kann nach kurzem Hochfahren sofort weitermachen wo man aufgehört hat (wie RAM-Alive)
Kontra -> wenn man das zu oft macht, müllt sich der Arbeitsspeicher natürlich mit den auf der Arbeit vorgekommenen Sachen zu, unter Umständen also langsamer, braucht länger zum Hochfahren als "Keep-Alive"
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Und deshalb gibst du ihnen pauschal Recht?!Scarabol hat geschrieben:@edel
Ich habs jetzt schon von meherern Quellen gehört..., vor allem von unseren Linux Jüngern

Das klang zumindest in deinem Post davor so.
Klar hat Windows was das angeht seine Nachteile, was ihm aber keinesfalls die Daseinsberechtigung entzieht. Hat schon seine Gründe, warum das doch so oft genutzt wird- wenn auch (verständlicherweise) nicht hauptsächlich. Kommt eben ganz auf die Umgebung und die Anforderungen drauf an.
Edit: Zudem man die Zumüll-Behauptung auch auf Nichtwissen der jeweiligen Betreiber der Server zurückführen könnte- hab jetzt nioch nichts derartig gravierendes in dem Bereich feststellen können.
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Nicht schießen
ich bin auch PRO WinXP
Ich geb niemandem pauschal recht, aber wenn es keine Gegenstimme gibt, naja was bleibt übrig....
Gruß
Scarabol

ich bin auch PRO WinXP

Ich geb niemandem pauschal recht, aber wenn es keine Gegenstimme gibt, naja was bleibt übrig....
Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP