Sokakat foglalkoztathat, hogy miért döntött úgy a Microsoft, hogy a Windows 8 után kihagyja a Windows 9-et és a soron következő kiadást Windows 10-nek fogja nevezni. A Reddit-en felbukkant egy komment, egy állítólagos MSFT alkalmazottól. Abban az olvasható, hogy Redmondban, házon belül, a fejlesztők arra jutottak előzetes tesztek elvégzése után, hogy számos 3rd party termék így ellenőrzi a Windows verziót:
if(version.StartsWith("Windows 9"))
{ /* 95 and 98 */
} else {
A problémát így oldották meg. Igaz vagy sem? Végül is a kutyát sem érdekli.
Egy perc alatt lehet találni kifinomultabb ellenőrzést az interneten:
if (name.startsWith("windows 9")) {
if (version.startsWith("4.0")) {
version = "95";
} else if (version.startsWith("4.9")) {
version = "me";
} else {
assert version.startsWith("4.1");
version = "98";
}
} else {
if (version.startsWith("4.0")) {
version = "nt4";
} else if (version.startsWith("5.0")) {
version = "2000";
} else if (version.startsWith("5.1")) {
version = "xp";
} else if (version.startsWith("5.2")) {
version = "2003";
}
- 5536 megtekintés
Hozzászólások
"És nem is csodálkozom hogy nem ment a gépemen, ha kilencszeres Windows-t akar"
- A hozzászóláshoz be kell jelentkezni
Igazabol ez a kifinomultabb ellenorzes is pont annyira hibas, mint a Reddites kommentben linkelt eredeti. Ugyanugy rossz agra fog menni a kulso if-ben, es utana raadasul assertion fail.
Ugy tunik, azert kell baszkolodni a nevvel, mert a 95-nek meg az NT4-nek ugyanaz a version-je. Meg kellene cserelni a ket ifet, es a nevet csak 4.0 eseten vizsgalni:
if (version.startsWith("4.0")) { version=baszkolodjunkNevvel(name) }
else if (version.startsWith("99.99")) { version="windows1001" }
else if ...
- A hozzászóláshoz be kell jelentkezni
Az 1 másodperces kereséssel talált példa csak arra szolgált, hogy a "version.startsWith"-tel látszólag meg lehetne csinálni, hiszen az egyedinek tűnik. Ha pedig meg lehet, akkor nem értem, hogy a 3rd party programozók miért nem azt használták, mi vitte rá őket erre a "if(version.StartsWith("Windows 9"))" faszságra.
Szerk: Ja, látom. Az ostobája szerint 4.0 a w95 és az nt4 is. Gratulálok.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Vagy leginkább az, hogy - AFAIK - nem nagyon van rá API hivás, hogy megmond, hogy NT vagy 9x.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
A GetVersion leírásánál meg ez áll:
With the release of Windows 8.1, the behavior of the GetVersion API has changed in the value it will return for the operating system version. The value returned by the GetVersion function now depends on how the application is manifested.
Applications not manifested for Windows 8.1 will return the Windows 8 OS version value (6.2). Once an application is manifested for a given operating system version, GetVersion will always return the version that the application is manifested for in future releases. To manifest your applications for Windows 8.1 please refer to Targeting your application for Windows 8.1.
Másszóval: Kedves programozó, ez a függvény visszaad valamilyen verziószámot, ami vagy valós információ, vagy nem. Inkább az utóbbi.
- A hozzászóláshoz be kell jelentkezni
Azert vannak ott me'g gyo"ngyszemek ;) ``GetVersion may be altered or unavailable for releases after Windows 8.1''. Mino"se'g, na.
- A hozzászóláshoz be kell jelentkezni
Itt a folytatás.
(+ kell még egy IsWindowsServer is..)
- A hozzászóláshoz be kell jelentkezni
Az ilyenekre mondta Váncsa István egyszer, hogy 'némely emberi agy egészen másképp működik, mint ahogy azt józan ésszel gondolkodva elvárnánk...'
Tkp azt mondják MS-ék, hogy a verzió-információ veszélyes dolog, ha rossz kezekbe jut, inkább hazudjunk, sőt szüntessük meg a lekérdezés lehetőségét is...
Vagy mondjuk lehetne a GetVersion visszaadott értéke konstans is:
#define WINDOWS_VERSION_NEVER_MIND 1984
- A hozzászóláshoz be kell jelentkezni
Szerintem megcsinálták a win9-et, csak annyira szar lett, hogy azt már ők sem merték felvállalni :D
-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba
- A hozzászóláshoz be kell jelentkezni
A fene se tudja :P
http://9gag.com/gag/aYpYye7
- A hozzászóláshoz be kell jelentkezni
Nem tudom, van-e köze az igazsághoz. A hivatkozott megoldás tényleg nem tűnik ismeretlennek: https://searchcode.com/?q=if%28version%2Cstartswith%28%22windows+9%22%29
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
Ördögi kör ez... A Windowsok sok baromsága miatt a szoftverek elkezdtek verzióra vizsgálni. De ugyanúgy a szar szoftverek miatt a Windowsnak is egy csomó kompatibilitásnövelő megoldása van. És így szépen szívatják egymást. Persze az is szívás, mikor Linux világban X időnként új kernel API miatt kell újraírni dolgokat, de ők ne panaszkodjanak.
- A hozzászóláshoz be kell jelentkezni
Pont az szokott lenni a Windows mellett az érv, mint most ellene hoztál fel.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
A Windowson elfut a régi szoftver, mert agyon van hekkelve a Windows is meg a szoftver is. A Linuxon is elfut a régi szoftver, mert általában csak simán újrafordítod (na meg azért van ott 1-2-100 rendszerspecifikus #ifdef). És mind a két módszer elromolhat. Userként jobb lehet a Windows élmény, de fejlesztőként sokszor jobb magasról tenni a kompatibilitásra, és simán új API-t kiadni, ha épp úgy van kedvem. Mindkettőnek van előnye is, hátránya is.
- A hozzászóláshoz be kell jelentkezni
Vagy mert egyre több (ál)hír jelent meg, hogy a 9-es verzió ingyenes lesz. Így nem kell cáfolniuk az (ál)híreket. :-)
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
A Winamp-nak jobb indoka volt, miért maradt ki a Winamp 4. A Winamp 1, 2, 3 után 5 jött... :-)
Sakk-matt,
KaTT :)
- A hozzászóláshoz be kell jelentkezni
Jó, de ott az volt a magyarázat, hogy 2+3=5 és kombinálják a Winamp3-mat a Winamp2-vel. Ugyanis a 3 elég sokaknál kiverte a biztosítékot és az 5 alapból jobban hasonlított a 2-re, mint a 3-ra (ameddig nem jött a Modern UI).
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Slackware: 3.9, 4.0, 7.0, 7.1...
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni
Sokkal egyszerűbb a magyarázat..
Kilenc... Kisferenc... GYÚRCSÁNY!!!!!
Na ezt azért már mégse..
Amúgy már az előző verzió, a Windows (elmúlt) 8 (év) is necces volt..
"A törvény mindenkire vonatkozik, kommunistákra tízszeresen, százszorosan.
Ahol nem vagyunk mi, ott az ellenség.."
--
God bless you, Captain Hindsight..
Bocs...
- A hozzászóláshoz be kell jelentkezni
"Ahol nem vagyunk mi, ott az ellenség.."
az nemugyvan, hogy
"Ahol nem mi vagyunk, ott szar sincs..." ?
- A hozzászóláshoz be kell jelentkezni
Inkabb ugy hogy "En mar szart e'rek?"
- A hozzászóláshoz be kell jelentkezni