- UID
- 16779
- 精华
- 0
- 冰点
- 270
- 阅读权限
- 150
- 主题
- 88
- 回帖
- 1975
- 在线时间
- 2735 小时
- 注册时间
- 2014-7-18
- 最后登录
- 2023-2-18
签到天数: 2368 天 [LV.Master]伴坛终老
精灵魔法师☆★
- 回帖
- 1975
- 雪点
- 48284
- 阅读权限
- 150
- 在线时间
- 2735 小时
- 注册时间
- 2014-7-18
- 最后登录
- 2023-2-18
|
本帖最后由 wasd 于 2017-6-17 21:44 编辑
我發覺你真是挺強詞奪理的=.=
唉你真是的, 你完全不明白狀況
第一, 我已經說了『會出錯是因為你沒更新Java』, 我還說『(假設微軟知道這個錯誤的情況下) 你或許猜對了微軟根本不理會這個Java指令』, 那當然是Java公司fix的喇
第二, Java是很特別的, 只要更新了JVM和JRE, 那個Java指令根本不用改寫, 就能正確無誤地執行了
第三, 什麼叫有衝突也不是微軟要考慮的, 你才是放棄邏輯; 怎麼你說的好像我給的if (os.startsWith("Windows 9") 是他們發現的唯一衝突之處!? 我們連微軟在哪個軟件發現衝突也不知道, 我已經說過這只是我舉出的一個例子, 其中一種以OS名稱來檢查Windows版本的方法, 但這個指令不是唯一檢查Windows版本的指令; 我們都不知他們發現有衝突的軟件是否在運行if (os.startsWith("Windows 9") 這個程序; 另外, 我也說過開發OS是要儘量考慮舊時代軟件的支援能力, 簡簡單單不叫Windows 9就可以解決一部分問題, 何樂而不為?
第四, 你怎麼覺得因為沒發現這個Java問題就代表他們不在乎所有的掃描, 這個推論實在是不嚴謹 我卻認為他們測試的軟件應該都是微軟過去自家出產/或內部實驗室的軟件, 以及一些熱門的軟件 (但用Java寫的其實不多, 大多都是用C-family語言寫的, 而Java主要用在web application和server-side apps的), 微軟不會故意花時間去四處搜羅軟件作測試
第五, 我再說一遍, 請你看請楚我為何給出另外幾個例子, 而且我是知道這幾個方法可以有效辨別Windows版本; 那幾個例子所用的方法不會和“Windows 9” 這個名稱有衝突
第六, 我從沒否定『跳過9就是因為8口碑不好』
第七, 你又再無視我的論點了『美國人並不怎麼忌諱6, 因為真正代表撒旦的是666』在美國, 到處都有數字6, 會有6樓但不一定有13樓; 還有我何時『說過要全部美國人都忌諱6所以才合理?』, 你又再一次打稻草人及極端化, 希望你以後能認真理解人家所說才去回覆, 而我是一直說“Windows 9” 名稱衝突的原因更合理
第八, Vista的內核名稱是NT6.0, 就當微軟真的迷信, 覺得Vista出很多問題跟數字6有關; 哪麼我想問你為甚麼Win7的內核名稱仍要叫NT6.1, 而不是直接跳去NT7.0, 明明之前是因為內核名稱有問題啊 (依你所說是NT6.0有問題啊, 不是Vista這個名稱有問題啊); 其實, 即使不叫Win7也不會叫Win6的, 因為微軟不會想正式名稱跟內核名稱(因已有WinNT6.0)有衝突; 更重要的是, 我們在討論為何跳過Windows 9, 9對美國人來說沒什麼特別, 微軟不會因迷信原因跳過9的
第九, 你錯在哪裡我一早已經講清楚, 是你自己沒看到/看不懂! 真心請你看清楚之前的回覆+點評! (我剛看到你在我早前回覆後把自己錯的CODE改了, 但"或"是什麼鬼) 另外, 能解釋||的意思就是程序員真是笑死人了, 這是Coding101的程度罷了; 其實呢, 這個真心不用解釋, 因為實在是太簡單了, 如果你真心看不懂的話, 你承認, 我就跟你慢慢解釋; 最後, 我並沒有迴避問題, 這程度的代碼真心不用解釋!
第十, 我就想問一問你, 截圖對這個討論有什麼用!? 怕你不死心, 圖我就懶得截了, 我說說我常用甚麼IDE+Editor吧: Visual Studio, Eclipse, VBA, SublimeText, PythonIDE, notepad++
第十一, 你再次暴露了你理解錯問題所在我不想不斷重重覆覆跟你解釋了, 我不知說過多少次『掃描內核版本(即NT6.x)是可以有效區別Windows版本; 所以叫NT6.4也好, NT10也好, 都無所謂, 甚至叫NT9也行』
第十二, 因為我只是給了那句Java作為論據; 其他程式語言當然有:
- Dim OsName As String = My.Computer.Info.OSFullName
- Sub GetNAME()
- If OsName.Contains("Windows 9") Then
- Os = "Windows 95 or 98"
- ElseIf OsName.Contains("Windows ME") Then
- Os = "Windows ME"
- Else
- MessageBox.Show(Os & " is not supported.")
- Application.Exit()
- End If
- End Sub
复制代码- Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
- For Each objOS In objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
- If InStr(objOS.Caption,"Windows 9")>0 Then
- Wscript.Echo "The OS is " & objOS.Caption & vbNewLine & _
- "Version Number is " & " (" & objOS.Version & ")"
- 'do sth
- End If
- Next
复制代码- var os = (from entry in new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem").Get().Cast<ManagementObject>()
- select entry.GetPropertyValue("Caption")).FirstOrDefault();
- return os.ToString().Contains("Windows 9") ? os.ToString() : "Unknown";
复制代码
等等, 還有更多不同組合和變化以及更多我不知道的....
|
|