Attrib & Shutdown

Für allgemeine Fragen zur Programmierung mit PureBasic.
Werner
Beiträge: 24
Registriert: 15.01.2005 19:43

Attrib & Shutdown

Beitrag von Werner »

Vielen Dank an Kiffi & bluejoke :) :)

Der Hinweis zu Attrib war gut:

Code: Alles auswählen

;****************************************************************************************
; Attribute abfragen
;****************************************************************************************
Attrib_Status = GetFileAttributes_("d:\test.txt")
Ergebnis$ = Str(Attrib_Status) 
MessageBox_(0, "Attrib-Status: "+Ergebnis$,"Info",0)
End

;****************************************************************************************
; Attribute setzen
;****************************************************************************************
Datei$="d:\test.txt"
SetFileAttributes_(Datei$,0);  alle Attribute zurücksetzen
SetFileAttributes_(Datei$,1);  schreibgeschützt
SetFileAttributes_(Datei$,3);  schreibgeschützt + versteckt
SetFileAttributes_(Datei$,4);  System
SetFileAttributes_(Datei$,5);  System + schreibgeschützt
SetFileAttributes_(Datei$,6);  System + versteckt
SetFileAttributes_(Datei$,7);  System + schreibgeschützt + versteckt
SetFileAttributes_(Datei$,32); Archiv
End
Denn Windows XP-Shutdown abzufangen scheint doch nicht so einfach zu sein:

Code: Alles auswählen

#win_main=1 
#SW_Name="Test" 
Dateiname$="d:\test.txt"
Text$="Windows wurde beendet!"

main_win=OpenWindow(#win_main,0,0,150,30,#PB_Window_Invisible,#SW_Name) 

Repeat 
 EventID = WaitWindowEvent() 
    If EventID    ; ein Ereignis befindet sich in der "Queue" (Warteschlange), also arbeiten wir es ab 
      Ergebnis$ = Str(EventID)
    EndIf
Until EventID = #PB_Event_CloseWindow

Datum$=FormatDate("%yyyy.%mm.%dd / %hh:%ii", Date())
CreateFile(1, DateiName$)
WriteStringN(Datum$)
WriteStringN(Text$)
WriteStringN("EventID: "+Ergebnis$)

CloseFile(1)

End
Das Programm wird durch das Beenden von WXP einfach erschlagen.
Hat da noch jemand eine Idee?

Gruß, Werner
Werner
Beiträge: 24
Registriert: 15.01.2005 19:43

Shutdown WXP abfangen

Beitrag von Werner »

Habe ich wirklich keine Möglichkeit beim Beenden/Abmelden von WXP automatisch folgenden Code eines im Speicher befindlichen PB-Programms auszuführen?
Wäre wirklich schade... :cry:

Code: Alles auswählen

Datum$=FormatDate("%yyyy.%mm.%dd / %hh:%ii", Date()) 
CreateFile(1, DateiName$) 
WriteStringN(Datum$) 
WriteStringN(Text$) 
WriteStringN("EventID: "+Ergebnis$) 

CloseFile(1) 

End 
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag von walker »

Hi,

doch, gibt es.... :D
Du musst einfach ein Windowcallback einrichten und dort die Message #WM_CLOSE abfragen....

cu
Ulf
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Shutdown WXP abfangen

Beitrag von ts-soft »

Werner hat geschrieben:Habe ich wirklich keine Möglichkeit beim Beenden/Abmelden von WXP automatisch folgenden Code eines im Speicher befindlichen PB-Programms auszuführen?
Wäre wirklich schade... :cry:
Hab den Thread gerade erst gelesen, im ShowCase findest Du TS-Shutdown mit Source, da wird auch #WM_QUERYSYSTEMSHUTDOWN ausgewertet, um noch den Text der sich in der Zwischenablage befindet zu speichern. Sollte Dir das zu Aufwendig sein, erstelle ich Dir gerne ein kurzes Beispiel.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Werner
Beiträge: 24
Registriert: 15.01.2005 19:43

Shutdown

Beitrag von Werner »

Danke an ts-soft & walker für eure Beiträge :)

An ts-soft ein dickes Lob zu ts-shutdown.
Dieses Programm hat mein Problem gelöst :allright:

PS: Ich konnte mir einfach nicht vorstellen, dass es Grenzen für PB gibt.

Gruß, Werner
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> An ts-soft ein dickes Lob zu ts-shutdown.
:oops: So ein Feedback freut einen natürlich, jetzt werde ich wohl doch nochmal drüber nachdenken es zu erweitern, hab da an eine plugin-schnittstelle gedacht, z.b. für terminerinnerung und ähnliches. :allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten