Deutsch
Forum

Updatechecker

 
- Seite 1 -



Gary12345
Servus,
KompilierenMarkierenSeparieren
Window %MaxX*0.1,%Maxy*0.1-%MaxX*0.3,%MaxX*0.3
WindowTitle "Updatechecker"
WindowStyle 31
declare Ende&,Diskgröße!

Proc DiskGröße

    Parameters Laufwerkbuchstabe$'String
    set("decimals",2)
    Diskgröße!=DiskSize(Laufwerkbuchstabe$)/(1024*1024*1024) + " GB"
    ROUND(Diskgröße!,3)

    If Diskgröße!=0

        print %Error
        MESSAGEBOX("Laufwerk nicht vorhanden oder nicht lesbar!","Error X0001",0)

    Else

        Return Diskgröße!

    EndIf

EndProc

'#################################
'APPENDMENU
PopUp "&Programm"
AppendMenu 101, "Updatestatus ermitteln"
AppendMenu 102, "Festplattenstatus ermitteln"
AppendMenu 103, "AutoStartLister"
AppendMenu 104, "Aktuelle Updates"
PopUp "&Sonstiges"
SubPopUp "Sonstiges"
AppendMenu 105, "Über den Autor"
AppendMenu 106, "Über das Programm"
AppendMenu 107, "Spende"
EndSub
AppendMenu 108, "Beenden"
'################################
print %Error
DiskGröße("C:")
print %Error

Whilenot Ende&=1

EndWhile


Was geht da schief? Blöde Frage, aber ich weiß nicht weiter. Könnte evtl. ein Sammelthread werden, da dies ein größeres Projekt ist.

Danke!
 
XProfan X2
MfG
Gary12345
18.02.2013  
 



 
- Seite 2 -



Gary12345

KompilierenMarkierenSeparieren
Window %MaxX*0.1,%Maxy*0.1-%MaxX*0.3,%MaxX*0.3
WindowTitle "Updatechecker"
WindowStyle 31
declare Ende&,Diskgröße&,Memstat#

Proc DiskGroeße

    Parameters Laufwerkbuchstabe$'String
    set("decimals",2)
    Diskgröße&=DiskSize(Laufwerkbuchstabe$)/(1024*1024*1024)

    If Diskgröße&=0

        MESSAGEBOX("Laufwerk nicht vorhanden oder nicht lesbar!","Error X0001",0)'Error X0001= Laufwerk nicht vorhanden oder nicht lesbar!

    Else

        Return ROUND(Diskgröße&,3)

    EndIf

EndProc

Proc ShowMemoryStatus

    Def GlobalMemoryStatus(1) !"KERNEL32","GlobalMemoryStatus"
    Def Mbyte(1) Round(1/$0100000,0)
    Dim MemStat#,32
    Long MemStat#,0=32
    GlobalMemoryStatus(MemStat#)
    Print Str$(Long(MemStat#,4))+"% Speicherauslastung"
    Print MByte(Long(MemStat#,8))+"MB gesamter physik. Speicher"
    Print MByte(Long(MemStat#,12))+"MB physik. Speicher frei"
    Print MByte(Long(MemStat#,16))+"MB max. Größe der Swapdatei"
    Print MByte(Long(MemStat#,20 ))+"MB max. in Swapdatei belegbar"
    Print MByte(Long(MemStat#,24))+"MB max. virtueller Speicher für Prozess"
    Print MByte(Long(MemStat#,28))+"MB max. virtueller Speicher für Prozess aktuell verfügbar"
    Dispose MemStat#

EndProc

'#################################
'APPENDMENU
PopUp "&Programm"
AppendMenu 101, "Updatestatus ermitteln"
AppendMenu 102, "Festplattenstatus ermitteln"
AppendMenu 103, "AutoStartLister"
AppendMenu 104, "Aktuelle Updates"
PopUp "&Sonstiges"
SubPopUp "Sonstiges"
AppendMenu 105, "Über den Autor"
AppendMenu 106, "Über das Programm"
AppendMenu 107, "Spende"
EndSub
AppendMenu 108, "Beenden"
'################################
print DiskGroeße("C:\\")
ShowMemoryStatus

Whilenot Ende&=1

EndWhile


Geht das bei jemandem? Bei mir liefert es überall 0MB aus?
 
XProfan X2
MfG
Gary12345
18.02.2013  
 



Bei mir kommt dies raus:


5 kB
Hochgeladen:18.02.2013
Ladeanzahl121
Herunterladen
 
18.02.2013  
 




Gary12345
Aber diese 0MB sind doch nicht normal? Oder ist da was falsch?
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Scheint irgendwie mit x64 und x86 zusammenzuhängen.
Schaut mal [...] . Auch die Kommentare lesen.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
Das bedeutet, dass es auf 64bit Systeme mit max. 4GB läuft oder nur auf 32bit systeme? Bin dem Englischen mit meinen 15 nicht übermächtig, bwohl ich komischerweise eine englische Ausbildung habe xD

Win XP 32bit mit 2GB Ram geht auch nicht.
 
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
hmmm...sind hier doch noch ein paar in meiner Alterklasse unterwegs. Bin 16. :O :O
Müsste sowohl auf 64Bit-Systemen mit weniger bzw. gleich 4 GB RAM oder 32Bit-Systemen funzen, solange die Quelle stimmt ^^
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
32bit funzt nicht. 64bit habe ich keinen Testpc da,da mein PC mehr als 4GB Ram hat . Das Komische ist ja, dass ich einer der wenigen bin, der sich nur für Malware interessiert und da auch eine Ausbildung macht.(Und auch nur gegen Malware Tools schreiben will - 0 Interesse für Spiele - ok sometimes zocke ich mal FIfa, aber nicht oft) Wenn Du Probleme hast, kannste Dich immer melden . Nun aber zurück zum Ernst der Sache, wat geht da schief?
 
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Habs mal schnell in ner VM probiert. WinXP x86 mit 3300MB Ram.



Auf meinen Rechner mit Win8 x64 mit 16GB Ram kommen auch nur 0MB.

36 kB
Hochgeladen:18.02.2013
Ladeanzahl189
Herunterladen
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
Unsichere API. Gibt es da eine sichere Lösung?

Paar Tips von Bekannten bekommen:
64 bit = GlobalMemoryStatusEx
32bit = ?
 
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Steht in den oben geposteten Link in PseudoCode


if comp64 then begin
GlobalMemoryStatusex
....
end
else begin
GlobalMemoryStatus
....
end;
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
Alles viel zu kompliziert. Werde es mal vorübergehen so belassen.
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




Andreas
Miethe


Wenn ich mich mal einmischen darf.

Der Fehler beim Aufruf von GlobalMemoryStatus oder GlobalMemoryStatusEx liegt in der Strukturgrösse. Hier werden teilweise 64Bit-Integer erwartet. Die Strukturgrösse stimmt also nicht überberein. Hier mal ein altes Bespiel, das zeigt wie es richtig geht, egal wieviel Arbeitsspeicher installiert ist, 32-Bit oder 64-Bit Betriebssystem.
KompilierenMarkierenSeparieren
Struct MEMORYSTATUSEX = \
dwLength&,\
dwMemoryLoad&,\
ullTotalPhysLow&,\
ullTotalPhysHi&,\
ullAvailPhysLow&,\
ullAvailPhysHi&,\
ullTotalPageFileLow&,\
ullTotalPageFileHi&,\
ullAvailPageFileLow&,\
ullAvailPageFileHi&,\
ullTotalVirtualLow&,\
ullTotalVirtualHi&,\
ullAvailVirtualLow&,\
ullAvailVirtualHi&,\
ullAvailExtendedVirtualLow&,\
ullAvailExtendedVirtualHi&
Var Memory# = New(MEMORYSTATUSEX)
Memory#.dwLength& = SizeOf(Memory#)
External("Kernel32.dll","GlobalMemoryStatusEx",Memory#)
Var TotalMem! = 0
Var AvailMem! = 0
Var PagefileMem! = 0
Var APagefileMem! = 0
cls
Totalmem! = Memory#.ullTotalPhysLow&
case Memory#.ullTotalPhysLow& < 0: TotalMem! =  Memory#.ullTotalPhysLow& + (2^32)
TotalMem! = (Memory#.ullTotalPhysHi& * (2^32)) + TotalMem!
Availmem! = Memory#.ullAvailPhysLow&
case Memory#.ullAvailPhysLow& < 0: AvailMem! =  Memory#.ullAvailPhysLow& + (2^32)
AvailMem! = (Memory#.ullAvailPhysHi& * (2^32)) + AvailMem!
PagefileMem! = Memory#.ullTotalPageFileLow&
case Memory#.ullTotalPageFileLow& < 0: PageFileMem! =  Memory#.ullTotalPageFileLow& + (2^32)
PageFileMem! = (Memory#.ullTotalPageFileHi& * (2^32)) + PageFileMem!
APagefileMem! = Memory#.ullAvailPageFileLow&
case Memory#.ullAvailPageFileLow& < 0: APageFileMem! =  Memory#.ullAvailPageFileLow& + (2^32)
APageFileMem! = (Memory#.ullAvailPageFileHi& * (2^32)) + APageFileMem!
Print Format$("#####.00 MB total zur Verfügung stehender Arbeitsspeicher",(TotalMem!) / 1024^2)
Print Format$("#####.00 MB momentan zur Verfügung stehender Arbeitsspeicher",(AvailMem!) / 1024^2)
Print Format$("#####.00 MB benutzter Arbeitsspeicher",(TotalMem!-AvailMem!) / 1024^2)
Print Format$("#####.00 MB Auslagerungsdatei total",PageFileMem! / 1024^2)
Print Format$("#####.00 MB Auslagerungsdatei frei",APageFileMem! / 1024^2)
Print Format$("#####.00 MB Auslagerungsdatei benutzt",(PageFileMem!-APageFileMem!) / 1024^2)
Print Format$("##### % benutzter Speicher",(Memory#.dwMemoryLoad&))
Waitinput
end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
18.02.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

20.242 Betrachtungen

Unbenanntvor 0 min.
Gast.081516.07.2024
Peter Max Müller13.11.2017
Claus de Lieth18.10.2017
Herby15.08.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie