Autor | Thema: Scandisk, Defragmentieren | | Datum:24.09.02 23:24 
(compy@onlinehome.de) | |
vProfan 5.0
möchte diese beiden tools unter windows98 & xp aufrufen.
unter 98 gehts mit Defrag.EXE,Scandskw.EXE aber unter xp funktioniert das nicht
wie kann ich in beiden "os" diese funktionen nutzen??
|
| | Datum:25.09.02 06:27 
(martin_pohl@msn.com) | |
1. Unter XP gibt es Scandisk auch nicht. Dort heißt es CheckDisk (chkdsk.exe - oder so ähnlich)
2. Zum Defragmentieren gibt es die Datei (unter XP): dfrg.msc
|
| | Datum:25.09.02 12:48 
(compy@onlinehome.de) | |
also, geht das scheinbar nicht - danke -/ aber wenn einer noch eine idee dazu hat würde ich mich drüber freuen
danke
|
| | Datum:25.09.02 13:19 
(desitron_5@bluewin.ch) | |
Idee: Windows Version prüfen (W9x od XP).
Name der beiden tools jeweils als String festlegen
(einmal für Win 9x und einmal für Win XP),
dann entsprechend Win-Version die jeweligen Strings
an den Aufruf übergeben.
Weiss im Moment leider nicht mehr wie die Funktion
zur Windows-Versions-Abfrage in PROFAN heisst.
Vieleicht hilft Dir dies weiter!??
|
| | Datum:25.09.02 14:40 
(compy@onlinehome.de) | |
das hört sich gut an aber leider bin ich auch erst seit kurtzen dabei und habe keine idee wie man sowas macht
könnte einer mal so ein demo script für defgagmentieren hier zeigen?? danke euch schon mal
mfg
|
| | Datum:25.09.02 14:55 
(joerse@gmx.de) | |
Hallo Frank,
Das Ganze ist weniger ein Programmierproblem als ein OS-Problem.
Unter Win9X heißt Dein Aufruf:
Shell "Defrag.exe C:\" und die Defragmentierung startet kommentarlos.
Es gibt noch ein paar Parameter, die das Beenden automatisieren, aber die hab' ich im Moment nicht parat.
Unter XP benutzt MS ein anderes Programm. Das mußt Du erst mal herausfinden und
dann sehen ob Du es auch mit Parametern starten kannst.
Gruß
Jör
|
| | Datum:25.09.02 15:31 
(compy@onlinehome.de) | |
hatt den einer ne idee wie man *.mrc dateien unter xp aufruft??
und wie das mit dem beispiel von "Stefan M. Caillet" funktioniert ??
danke mfg
profan 5.0
|
| | | Datum:25.09.02 18:58 
(compy@onlinehome.de) | |
hi Alexander
ja, meinte "dfrg.msc" sorry, jau prima funktioniert !!
wie mach ich das jetzt mit der abfrage des os?? (beschreibung von Stefan M. Caillet)
|
| | Datum:25.09.02 22:05 
(mail@stschnell.de) | |
Hallo Frank,
versuchs mal mit der Variable $WinVer, die liefert die Windows Version zurück.
Tschüss
Stefan
|
| | Datum:25.09.02 23:02 
(compy@onlinehome.de) | |
kann mir das einer mal genauer beschreiben wie das geht??
profan 5.0
|
| | Datum:26.09.02 10:36 
(alexander.schoenfeld@chronologic.de) | |
Hallo Frank,
hier ein kleines Beispiel, wie man die einzelnen Windowsversionen unterscheiden kann.
Leider weiss ich nicht, ob das Beispiel auch unter Profan 5 funktioniert, da ich selbst 7.5 verwende. Wenn du noch Probleme/Fragen hast, meld dich einfach nochmal :)
Declare VER_PLATFORM_WIN32s&
Let VER_PLATFORM_WIN32s& = 0
Declare VER_PLATFORM_WIN32_WINDOWS&
Let VER_PLATFORM_WIN32_WINDOWS& = 1
Declare VER_PLATFORM_WIN32_NT&
Let VER_PLATFORM_WIN32_NT& = 2
Declare OSVERSIONINFO#
Dim OSVERSIONINFO#, 148
Long OSVERSIONINFO#, 0 = 148
Def @GetVersionEx(1) !"KERNEL32.DLL", "GetVersionExA"
GetVersionEx(OSVERSIONINFO#)
Cls
Declare Version$, PlatformId&, MajorVersion&, MinorVersion&
Let PlatformId& = Long(OSVERSIONINFO#, 16)
Let MajorVersion& = Long(OSVERSIONINFO#, 4)
Let MinorVersion& = Long(OSVERSIONINFO#, 8)
If PlatformId& = VER_PLATFORM_WIN32s&
Let Version$ = "Win3.11"
ElseIf PlatformId& = VER_PLATFORM_WIN32_WINDOWS&
If MinorVersion& = 0
Let Version$ = "Windows 95"
ElseIf MinorVersion& = 10
Let Version$ = "Windows 98"
ElseIf MinorVersion& = 90
Let Version$ = "Windows ME"
Else
Let Version$ = "unbekannt"
EndIf
ElseIf PlatformId& = VER_PLATFORM_WIN32_NT&
If MajorVersion& = 3
Let Version$ = "Windows NT 3.51"
ElseIf MajorVersion& = 4
Let Version$ = "Windows NT 4.0"
ElseIf MajorVersion& = 5
If MinorVersion& = 0
Let Version$ = "Windows 2000"
ElseIf MinorVersion& = 1
Let Version$ = "Windows XP"
ElseIf MinorVersion& = 2
Let Version$ = "Windows .NET Server"
EndIf
Else
Let Version$ = "unbekannt"
EndIf
Else
Let Version$ = "unbekannt"
EndIf
Declare OSInfo$
OSInfo$ = "Platform: " + Version$+"\n" + \
"Version: " + Str$(MajorVersion&)+"."+Str$(MinorVersion&)+"\n" + \
"Build: " + Str$(Word(OSVERSIONINFO# ,12))+"."+Str$(Word(OSVERSIONINFO# ,14))+"\n" + \
"Weiteres: " + String$(OSVERSIONINFO#,20)
MessageBox(OSInfo$, "Versionsinfo", 64)
Dispose OSVERSIONINFO#
End
--
Mit freundlichem Gruss / kind regards,
Alexander Schoenfeld
Email: alexander.schoenfeld@chronologic.de
|
| | Datum:26.09.02 12:48 
(compy@onlinehome.de) | |
leider geht funzt er nicht unter Profan 5.0 ,aber trotzdem danke
mfg
|
| | Datum:26.09.02 14:04 
(alexander.schoenfeld@chronologic.de) | |
Sorry, hatte vergessen das es da die Operatoren noch nicht gibt, hier eine Version, die funktioniert ( hab mir extra Profan 5.0 gezogen ;) )
Declare VER_PLATFORM_WIN32s&
Let VER_PLATFORM_WIN32s& = 0
Declare VER_PLATFORM_WIN32_WINDOWS&
Let VER_PLATFORM_WIN32_WINDOWS& = 1
Declare VER_PLATFORM_WIN32_NT&
Let VER_PLATFORM_WIN32_NT& = 2
Declare OSVERSIONINFO#
Dim OSVERSIONINFO#, 148
Long OSVERSIONINFO#, 0 = 148
Def @GetVersionEx(1) !"KERNEL32.DLL", "GetVersionExA"
GetVersionEx(OSVERSIONINFO#)
Cls
Declare Version$, PlatformId&, MajorVersion&, MinorVersion&
Let PlatformId& = Long(OSVERSIONINFO#, 16)
Let MajorVersion& = Long(OSVERSIONINFO#, 4)
Let MinorVersion& = Long(OSVERSIONINFO#, 8)
If Equ(PlatformId&, VER_PLATFORM_WIN32s&)
Let Version$ = "Win3.11"
ElseIf Equ(PlatformId&, VER_PLATFORM_WIN32_WINDOWS&)
If Equ(MinorVersion&, 0)
Let Version$ = "Windows 95"
ElseIf Equ(MinorVersion&, 10)
Let Version$ = "Windows 98"
ElseIf Equ(MinorVersion&, 90)
Let Version$ = "Windows ME"
Else
Let Version$ = "unbekannt"
EndIf
ElseIf Equ(PlatformId&, VER_PLATFORM_WIN32_NT&)
If Equ(MajorVersion&, 3)
Let Version$ = "Windows NT 3.51"
ElseIf Equ(MajorVersion&, 4)
Let Version$ = "Windows NT 4.0"
ElseIf Equ(MajorVersion&, 5)
If Equ(MinorVersion&, 0)
Let Version$ = "Windows 2000"
ElseIf Equ(MinorVersion&, 1)
Let Version$ = "Windows XP"
ElseIf Equ(MinorVersion&, 2)
Let Version$ = "Windows .NET Server"
EndIf
Else
Let Version$ = "unbekannt"
EndIf
Else
Let Version$ = "unbekannt"
EndIf
Print "Platform: "; Version$
Print "Version : "; Str$(MajorVersion&);".";Str$(MinorVersion&)
Print "Build : "; Str$(Word(OSVERSIONINFO# ,12));".";Str$(Word(OSVERSIONINFO# ,14))
Print "Weiteres: "; String$(OSVERSIONINFO#,20)
Waitkey
Dispose OSVERSIONINFO#
End
--
Mit freundlichem Gruss / kind regards,
Alexander Schoenfeld
Email: alexander.schoenfeld@chronologic.de
|
| | Datum:26.09.02 15:38 
(compy@onlinehome.de) | |
oh, klasse das du dir so viel mühe machst und der geht *freu
könntest du mir jetzt noch helfen den code einzubinden ?? das währe echt supi von dir !!
um unter win98 Defrag. zu starten gehtdieser code:
@WinExec("Defrag.EXE",1)
unter win xp geht dieser :
shell "mmc %windir%\System32\dfrg.msc"
wie müssen diese befehle eingebunden werden das sie im richtigen os (also bei xp :shell "mmc %windir%\System32\dfrg.msc" / und bei w98 @WinExec("Defrag.EXE",1) funktionieren
und nochmals ein dickes danke !!
|
| | Datum:26.09.02 16:12 
(schmidts@flat2serv.de) | |
Bitte nicht vergessen: Viele User nutzen unter Windows 2000 nicht die Windows-eigene Software, sondern OODefrag:
C:\WINNT\system32\mmc.exe "C:\Programme\OOSoftware\OODefrag\OOD2KNET.MSC" /s
Mfg.
Sven Schmidts
|
| | Datum: 28.09.02 21:18 
(compy@onlinehome.de) | |
könnte mir hier bei einer helfen?? bekomme das leider nicht hin das er funktioniert
mfg
Profan 5.0
|
|
|