Programm unter XP Sperren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Programm unter XP Sperren

    Hallo.

    Ich habe ein Programm welches unter Windows XP nicht richtig angezeigt wird, ich möchte das man es unter XP nicht Starten kann und das eine Fehlermeldung erscheint z.B.
    "Ihr System erfüllt nicht die Mindestanforderungen für diese Anwendung".

    Wie kann ich das Realisieren, bisher nichts gefunden.

    Danke :)
    Könntest die Versionsnummer mit ​Environment.OSVersion herausfinden, und dann prüfen ob es die XP Versionsnummer ist wenn ja -> MessageBox.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)

    VB.NET-Quellcode

    1. Public Function GetOSVersion() As String
    2. Select Case Environment.OSVersion.Platform
    3. Case PlatformID.Win32S
    4. Return "Win 3.1"
    5. Case PlatformID.Win32Windows
    6. Select Case Environment.OSVersion.Version.Minor
    7. Case 0
    8. Return "Win95"
    9. Case 10
    10. Return "Win98"
    11. Case 90
    12. Return "WinME"
    13. Case Else
    14. Return "Unknown"
    15. End Select
    16. Case PlatformID.Win32NT
    17. Select Case Environment.OSVersion.Version.Major
    18. Case 3
    19. Return "NT 3.51"
    20. Case 4
    21. Return "NT 4.0"
    22. Case 5
    23. Select Case _
    24. Environment.OSVersion.Version.Minor
    25. Case 0
    26. Return "Win2000"
    27. Case 1
    28. Return "WinXP"
    29. Case 2
    30. Return "Win2003"
    31. End Select
    32. Case 6
    33. Select Case _
    34. Environment.OSVersion.Version.Minor
    35. Case 0
    36. Return "Vista/Win2008Server"
    37. Case 1
    38. Return "Win7/Win2008Server R2"
    39. Case 2
    40. Return "Win8/Win2012Server"
    41. Case 3
    42. Return "Win8.1/Win2012Server R2"
    43. End Select
    44. Case Else
    45. Return "Unknown"
    46. End Select
    47. Case PlatformID.WinCE
    48. Return "Win CE"
    49. End Select
    50. End Function


    C#-Quellcode

    1. ublic string GetOSVersion()
    2. {
    3. switch (Environment.OSVersion.Platform) {
    4. case PlatformID.Win32S:
    5. return "Win 3.1";
    6. case PlatformID.Win32Windows:
    7. switch (Environment.OSVersion.Version.Minor) {
    8. case 0:
    9. return "Win95";
    10. case 10:
    11. return "Win98";
    12. case 90:
    13. return "WinME";
    14. }
    15. break;
    16. case PlatformID.Win32NT:
    17. switch (Environment.OSVersion.Version.Major) {
    18. case 3:
    19. return "NT 3.51";
    20. case 4:
    21. return "NT 4.0";
    22. case 5:
    23. switch (Environment.OSVersion.Version.Minor) {
    24. case 0:
    25. return "Win2000";
    26. case 1:
    27. return "WinXP";
    28. case 2:
    29. return "Win2003";
    30. }
    31. break;
    32. case 6:
    33. switch(Environment.OSVersion.Version.Minor) {
    34. case 0:
    35. return "Vista/Win2008Server";
    36. case 1:
    37. return "Win7/Win2008Server R2";
    38. case 2:
    39. return "Win8/Win2012Server";
    40. case 3:
    41. return "Win8.1/Win2012Server R2";
    42. }
    43. break;
    44. }
    45. break;
    46. case PlatformID.WinCE:
    47. return "Win CE";
    48. }
    49. return "Unknown";
    50. }
    @Annoxoli Heilige Scheiße. Warum so kompliziert?
    Der Ansatz von KidRick ist vollkommen korrekt.

    VB.NET-Quellcode

    1. If (Environment.OSVersion.Version.Major < 6) Then
    2. ' Ist XP
    3. End If
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Nein.
    MsgBox -> MessageBox.Show. Und dann meinen Code verwenden.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Annoxoli schrieb:

    somit sind alle Editionen abgedeckt.

    Mit der OS-Version-Abfrage auch soweit ;)
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Stürzt ab? Es beendet sich wohl eher, Du rufst ja auch ​Me.Close auf.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hmm, das ist natürlich doof. Eine etwas andere Idee wäre ​Application.Exit aufzurufen. Das könnte zwar auch erst recht das hervorrufen, auf der anderen Seite könnte es jedoch so radikal sein, dass keine Meldung aufpoppt. Probier's einfach mal.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: