<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      “Windows原生應(yīng)用開發(fā)早已亂成一團(tuán)!”

      0
      分享至


      這些年,如果你還在認(rèn)真考慮“要不要做一個原生 Windows 應(yīng)用”,大概率會很快陷入一種說不清的困惑。

      一方面,這個平臺看起來從不缺“新東西”:從 Win32、MFC,到 .NET、WPF,再到后來的 UWP、WinUI 3,技術(shù)棧不斷演進(jìn),概念也越來越現(xiàn)代;另一方面,真正動手做點事情時,卻總會遇到一種強(qiáng)烈的割裂感——新框架不完整,老能力又離不開,開發(fā)體驗在“過時”和“半成品”之間反復(fù)橫跳。

      更現(xiàn)實的是,就連微軟自己,也在用行動投票:從 Visual Studio Code 到新版 Microsoft Outlook,再到系統(tǒng)里越來越多的界面,本質(zhì)上都在向 Web 技術(shù)靠攏。原生開發(fā),反而成了一種“理論上重要,但實踐中逐漸邊緣化”的選項。

      這也就帶來一個耐人尋味的問題:當(dāng)一個平臺連自己的核心應(yīng)用都不再堅定使用“原生方案”時,開發(fā)者為什么還要堅持?

      在這篇文章里,一位親自踩過坑的開發(fā)者嘗試寫一個再簡單不過的小工具,但正是在這個過程中,他把 Windows 原生開發(fā)這些年的斷層、重復(fù)和妥協(xié),一層層掀開來看。

      原文鏈接:https://domenic.me/windows-native-dev

      作者 | Domenic Denicola 責(zé)編 | 蘇宓

      出品 | CSDN(ID:CSDNnews)

      我是一名 Windows 忠實用戶。《Beginning Visual C++ 6》是我最早接觸的編程書籍之一。這本書的關(guān)鍵在于它附帶了一個 Visual C++ 試用版,我十歲的時候就能在家里的電腦上自己裝起來。我還記得 .NET 1.0 發(fā)布時,我們正在度假,當(dāng)時我一邊啃一本 C# 大全,一邊盤算著把自己寫的 Neopets 作弊程序從 MFC 重寫成 Windows Forms。甚至我大學(xué)畢業(yè)后的第一份工作,也是在一家做 .NET 的公司,只不過我當(dāng)時負(fù)責(zé)的是前端開發(fā)。

      這些年來,雖然我一直在關(guān)注著 Windows 開發(fā)生態(tài)系統(tǒng),但職業(yè)生涯里其實從來沒真正寫過原生的 Windows 應(yīng)用。(嚴(yán)格來說,Chromium 算是原生應(yīng)用,但更像是一個自成體系的操作系統(tǒng)。)至于個人項目,Web 一直是更合適的選擇。不過,被童年記憶勾起的一點情懷驅(qū)動,我想著寫一個有趣的小型 Windows 工具,當(dāng)作“退休項目”也不錯。

      結(jié)果呢……我可以負(fù)責(zé)任地說,Windows 原生開發(fā)這個生態(tài)現(xiàn)在就是一團(tuán)亂。我完全理解為什么如今幾乎沒人再寫原生 Windows 應(yīng)用,大家都轉(zhuǎn)向了 Electron。


      我做了個什么?

      我寫的這個小工具叫 Display Blackout(https://github.com/domenic/display-blackout),主要是解決我自己的一個小需求:

      我用的是三屏顯示器,在打游戲的時候,希望把左右兩塊屏幕“黑掉”。如果直接關(guān)掉顯示器,Windows 往往會“抽風(fēng)”好幾秒,還會把當(dāng)前所有窗口的位置打亂。但如果是 OLED 屏,只要蓋一層純黑窗口,就等于把像素全關(guān)掉,效果其實是一樣的。

      需要說明的是,這并非我的原創(chuàng)想法。我一開始用的是一個叫 AutoHotkey 的腳本(https://github.com/Quorthon13/OLED-Sleeper/blob/eb6eb3e1432c9510899d1aedc345876245adbc72/src/OLED-Sleeper.ahk),寫這篇文章時才發(fā)現(xiàn)它已經(jīng)發(fā)展成一個完整的 Windows 應(yīng)用了。類似的工具在 Microsoft Store 上也能找到。不過,我還是想自己做一個界面更現(xiàn)代一點的小工具——而且本來也不是為了做產(chǎn)品,主要是為了學(xué)習(xí)。

      從我們的角度來看,這個應(yīng)用有意思的地方在于,它需要具備這些能力:

      • 列舉當(dāng)前機(jī)器上的所有顯示器及其邊界

      • 創(chuàng)建無邊框、無標(biāo)題欄、不會搶焦點的純黑窗口

      • 攔截全局快捷鍵

      • (可選)開機(jī)自啟動

      • 保存一些持久化設(shè)置

      • 在系統(tǒng)托盤里放一個圖標(biāo),并帶有簡單菜單

      先把這些需求記住,后面會用到。


      看看我做的這個漂亮的界面。你肯定會同意,它比同類軟件都好。


      Windows 編程簡史

      一開始,Win32 API 是用 C 寫的。不幸的是,這套 API 到今天依然非常重要,包括我這個小工具也離不開它。

      隨著時間推移,在此基礎(chǔ)上出現(xiàn)了一系列抽象層。.NET 之前最主要的是 MFC(一個 C++ 庫),它利用當(dāng)時算比較“現(xiàn)代”的語言特性,比如類和模板,在原始的 C 函數(shù)之上加了一點面向?qū)ο蟮奶匦浴?/p>

      真正的“抽象加速列車”,是在 .NET 出現(xiàn)之后才啟動的。

      .NET 有很多層意義,但對我們來說最關(guān)鍵的是:它引入了一門新語言 C#,以類似 Java 的方式運(yùn)行在一個新的虛擬機(jī)上(JIT 字節(jié)碼)。這帶來了自動內(nèi)存管理(也就是內(nèi)存安全),也讓微軟的整個開發(fā)生態(tài)有了更現(xiàn)代的基礎(chǔ)。

      同時,.NET 還提供了一整套新的 Windows API。UI 方面,.NET 1.0(2002 年)帶來了 Windows Forms,本質(zhì)上還是對 Win32 窗口和控件 API 的一層封裝,和 MFC 很像。

      到了 .NET 3.0(2006 年),微軟推出了 WPF。這時候不再只是用 C# 對象來創(chuàng)建控件,而是引入了一種獨(dú)立的標(biāo)記語言 XAML,有點像 HTML + JavaScript 的關(guān)系。與此同時,這也是他們第一次徹底重寫控件——用 GPU 渲染,而不是簡單封裝系統(tǒng)自帶的 Win32 控件。當(dāng)時看起來,這像是一個全新的起點,也像是未來 Windows 應(yīng)用的長期基礎(chǔ)。

      下一次大的轉(zhuǎn)折點,是 Windows 8(2012 年)發(fā)布時引入的 WinRT。它和 .NET 類似,試圖為開發(fā) Windows 應(yīng)用提供一整套新的 API。如果開發(fā)者完全遵循 WinRT 的規(guī)則,那么應(yīng)用就能符合“現(xiàn)代應(yīng)用”的標(biāo)準(zhǔn):沙箱化(類似 Android 和 iOS),并且可以同時部署在桌面、平板和手機(jī)上。UI 仍然基于 XAML,但相比 WPF 做了不少調(diào)整,以適應(yīng)跨設(shè)備的限制環(huán)境。

      這個策略在 Windows 10(2015 年)里被“重做”了一次,變成了 UWP。它放松了一些沙箱限制,讓應(yīng)用能覆蓋桌面 / 手機(jī) / Xbox / HoloLens,同時能力比 WinRT 更強(qiáng),但仍然達(dá)不到 WPF 那種完整 .NET 應(yīng)用的自由度。與此同時,WinRT / UWP 還帶來一個問題:某些系統(tǒng)級功能(比如推送通知、動態(tài)磁貼、Microsoft Store 分發(fā))只開放給這些框架。這導(dǎo)致像 Chrome 或 Microsoft Office 這樣的應(yīng)用,不得不在舊核心外面套一層 WinRT/UWP 外殼,通過 IPC 等方式通信,架構(gòu)變得很別扭。

      到了 Windows 11(2021 年),微軟基本放棄了把所有人遷移到“更現(xiàn)代、更沙箱化平臺”的嘗試。Windows App SDK 把原本只屬于 WinRT/UWP 的那些能力開放給所有 Windows 應(yīng)用——無論是標(biāo)準(zhǔn) C++(也不再需要 C++/CLI),還是 .NET。這個 SDK 里還包含了 WinUI 3,又一套基于 XAML、完全重寫的 UI 控件庫。

      所以你看懂了嗎?光是 UI 框架這條線,就已經(jīng)走過了:

      Win32 C APIs → MFC → WinForms → WPF → WinRT XAML → UWP XAML → WinUI 3


      路線分叉

      既然這是個學(xué)習(xí)項目,我一開始就決定用“最新、最官方”的技術(shù)棧,也就是基于 Windows App SDK 的 WinUI 3 應(yīng)用。

      但具體怎么選,又是一個三選一的問題:

      • C++

      • C#/XAML + “framework-dependent deployment”(依賴系統(tǒng)運(yùn)行時)

      • C#/XAML + .NET AOT

      這是個很痛苦的選擇。

      用 C++ 可以做出很輕量的應(yīng)用,運(yùn)行時只依賴 Windows App SDK,自帶和 Win32 API 的無縫互操作。但在 2026 年,用一個內(nèi)存不安全的語言從零開始寫新項目,多少有點“逆時代”。

      理想情況是:直接用系統(tǒng)自帶的 .NET,只分發(fā) C# 字節(jié)碼,就像 Web 應(yīng)用共享瀏覽器一樣。這就是所謂的 “framework-dependent deployment”。但問題在于——我完全無法理解的一個決定是:即便是最新的 Windows 11,也只預(yù)裝了 .NET 4.8.1,而當(dāng)前版本已經(jīng)是 .NET 10。結(jié)果就是,只要有一個應(yīng)用需要新版本 .NET,系統(tǒng)就會彈窗提示用戶去下載運(yùn)行時。這體驗顯然很糟糕。

      于是只剩下 .NET AOT 這一條路:把整個 .NET 運(yùn)行時——包括虛擬機(jī)、垃圾回收器、標(biāo)準(zhǔn)庫——全部編譯進(jìn)一個可執(zhí)行文件。雖然編譯器會盡量裁剪沒用的代碼,但最后一個“只是把屏幕變黑”的小工具,體積也有 9MB。

      (“那 Rust 呢?”你可能會問。微軟周邊社區(qū)曾嘗試維護(hù) Windows App SDK 的 Rust 綁定,但后來放棄了。)

      此外,分發(fā)方式也一樣讓人頭疼。雖然 Windows 支持傳統(tǒng)的 setup.exe 安裝器(無論手寫還是第三方工具生成),但微軟推薦的“現(xiàn)代方案”是 MSIX——一個帶容器化安裝/卸載能力的包格式。

      問題是,MSIX 非常依賴代碼簽名證書,而這個東西對非美國開發(fā)者來說,每年大概要 200–300 美元。沒有簽名的話,側(cè)載體驗極其糟糕:需要在管理員 PowerShell 里輸入一長串晦澀命令。

      你可能會想,那直接上 Microsoft Store 不就好了?不好意思,我試了——被拒了,理由是“沒有提供獨(dú)特且持久的價值”。

      最讓人難受的是,這一切其實都不是技術(shù)上做不到,而是完全可以更簡單:

      • .NET 本可以通過 Windows Update 分發(fā),讓系統(tǒng)始終保持最新版本,這樣 framework-dependent deployment 就能成立

      • 至少也可以提供一個 MSIX 版的 .NET,讓其他 MSIX 應(yīng)用聲明依賴

      • 未簽名 MSIX 本可以像 EXE 一樣使用基于用戶反饋的信譽(yù)系統(tǒng)

      • Windows 的代碼簽名證書,本可以像 Apple 生態(tài)那樣只要 100 美元/年,而不是 200+

      但現(xiàn)實是——就像現(xiàn)在的 Windows 開發(fā)體驗一樣,這些東西都只做到一半,處處透著一種“差點意思”。


      被“遺落”的能力

      事實證明,每隔幾年就把操作系統(tǒng)和 UI API 重造一遍,是一件非常耗費(fèi)精力的事情。再加上中途不斷嘗試做沙箱化、限制那些“過于強(qiáng)大”的能力,結(jié)果就是:每一層新框架都會留下缺口——一些在舊框架里能做的事情,在新框架里反而做不了了。

      這其實不是什么新問題。早在 MFC 時代,你就經(jīng)常不得不回退去直接調(diào)用 Win32 API;而 .NET 從 1.0 開始就有 P/Invoke 這種“逃生通道”。所以,從某種角度看,既然微軟現(xiàn)在也不再強(qiáng)制你必須只用最新框架才能獲得新能力,那么偶爾往下層調(diào)用也不算世界末日。

      但問題在于,這很讓人挫敗:如果一半的代碼都只是用來做 interop、去調(diào)用那些老舊的 API,那用微軟最新最好的技術(shù)還有什么意義?如果最后還是要去封裝一堆 C API,那用 C# 編程又有什么意義?

      讓我們重新審視一下我的應(yīng)用程序需要完成的任務(wù)列表,對照一下 Windows App SDK 實際能做什么:

      • 枚舉顯示器及其邊界:可以做到,但你得用 for 循環(huán),不能用 foreach。而如果想監(jiān)聽顯示器變化,就必須用 P/Invoke,因為現(xiàn)代 API 根本不好用。

      • 創(chuàng)建無邊框、無標(biāo)題欄、不會搶焦點的黑色窗口:大部分可以實現(xiàn),但“不會搶焦點”這一點,還是得靠 P/Invoke。

      • 攔截全局快捷鍵:不行,必須 P/Invoke。

      • 開機(jī)自啟動(可選):這個可以,而且還提供了一個和系統(tǒng)設(shè)置集成、默認(rèn)關(guān)閉的現(xiàn)代 API,算是做得不錯。

      • 持久化存儲設(shè)置:可以做到。

      • 顯示帶有少量菜單項的托盤圖標(biāo):完全沒有實現(xiàn)。托盤圖標(biāo)本身要靠 P/Invoke;更麻煩的是,托盤菜單并沒有統(tǒng)一標(biāo)準(zhǔn)——你選不同的第三方封裝庫,最后出來的右鍵菜單風(fēng)格都不一樣。


      Windows IME 系統(tǒng)組件采用現(xiàn)代磨砂玻璃風(fēng)格,與一些其他系統(tǒng)組件相匹配,但我找不到任何應(yīng)用程序(包括 Microsoft 應(yīng)用程序)與之匹配。

      總結(jié)下來就是:看起來是“現(xiàn)代框架”,但很多關(guān)鍵能力不是缺失,就是半殘,最后還是繞回老 API。

      但這些還只是“顯眼的問題”。甚至連一個很基礎(chǔ)的功能——根據(jù)內(nèi)容自動調(diào)整窗口大小——也在從 WPF 走到 WinUI 3 的過程中,不知什么時候被弄丟了。

      更麻煩的是,既然你經(jīng)常需要回退調(diào)用 Win32 C API,那么 interop 本身也在“換代”,事情就更復(fù)雜了。

      現(xiàn)在所謂的“現(xiàn)代方案”是一個叫 CsWin32 的東西,目標(biāo)是降低 P/Invoke 的痛苦。但它連結(jié)構(gòu)體里的字符串都沒法正確封裝。在我看來,這就是那種長期停留在 1.0 之前、資金和投入都不足、更新記錄也毫無亮點的項目——大概率再過幾年就會被放棄。

      而且,CsWin32 的問題不只是實現(xiàn)不完整,有些甚至源于 C# 語言本身的缺陷。官方文檔里有一段讓人哭笑不得的說明:

      Win32 中有些參數(shù)是 [optional, out] 或 [optional, in, out]。C# 沒有符合習(xí)慣的方式來表達(dá)這種概念,因此對于包含這類參數(shù)的方法,CsWin32 會生成兩個版本:一個包含所有 ref/out 參數(shù),另一個則全部省略。

      也就是說,C# 連 Win32 API 里一個非常基礎(chǔ)的參數(shù)類型都表達(dá)不了?這不過是現(xiàn)有兩種參數(shù)語義的組合而已。

      按理說,既然微軟完全掌控 C#,那它應(yīng)該是一個圍繞 Windows API 精心打磨、協(xié)同演進(jìn)的語言。但現(xiàn)實顯然不是這樣。

      實際上,不只是調(diào)用老的 Win32 API 時 C# 顯得力不從心,就連面對自身平臺需求,它也沒跟上。

      2006 年 WPF 剛推出時,大力強(qiáng)調(diào)“雙向數(shù)據(jù)綁定”,大家很快就發(fā)現(xiàn):為了讓一個類能綁定到 UI,需要寫大量樣板代碼,根本不可持續(xù)。基本上,每個屬性都要寫成 getter/setter,對 setter 做“值未變化則跳過”的判斷,還要手動觸發(fā)事件。(而在 C# 里,觸發(fā)事件本身就很啰嗦。)后來大家嘗試過各種“補(bǔ)丁式”的方案,比如基類、代碼生成器等等。但真正的解決辦法,其實應(yīng)該是語言層面的支持——就像 JavaScript 通過 decorators 和 proxy 做到的那樣。

      結(jié)果呢?

      當(dāng)我這次自己動手寫應(yīng)用時,驚訝地發(fā)現(xiàn):WPF 發(fā)布 20 年之后,這些樣板代碼幾乎沒怎么變。(唯一的改進(jìn),是 C# 允許在觸發(fā)事件時省略屬性名。)

      這不禁讓人想問:這二十年來,C# 語言團(tuán)隊到底在忙什么?為什么“原生可觀察類”這種需求從來沒被優(yōu)先解決?


      總結(jié)

      說實話,我感覺微軟對原生 Windows 應(yīng)用開發(fā)這件事根本就不重視。

      相關(guān)的 issue 追蹤里,到處都是開發(fā)者遇到各種痛苦的 bug 和功能缺失,但微軟工程師的回應(yīng)寥寥無幾。大多數(shù)的 Windows App SDK 更新日志也都是在新增機(jī)器學(xué)習(xí) API。

      而更諷刺的是,從 Visual Studio Code、Outlook,到甚至 Windows 開始菜單本身,很多微軟自家的應(yīng)用,都是用 Web 技術(shù)寫的。

      這或許也是為什么社區(qū)里很大一部分人選擇“另起爐灶”,轉(zhuǎn)向第三方 UI 框架,比如 Avalonia 和 Uno Platform。從它們的官網(wǎng)和 GitHub 倉庫來看,這些項目維護(hù)得更好,也更像是由一群真正熱愛 WPF、但希望 WinUI 能更強(qiáng)大的人在推動。同時,它們也擁抱跨平臺,這在不少場景下確實很重要。

      但說到這里,很多人會好奇地直接問一句:那為什么不干脆用 Electron 呢?

      說真的,C# 和 XAML 并沒有比 TypeScript / React / CSS 強(qiáng)到哪里去。就像我上文列出的那份需求列表所展示的,只要稍微超出基礎(chǔ)功能,你最終還是得用到 Win32 互操作。如果你使用的是像 Tauri 這樣的框架,甚至都不用打包整個 Chromium 二進(jìn)制文件,其實只用系統(tǒng)自帶的 WebView 就夠了。然而,這個系統(tǒng)自帶的 WebView 每 4 周(甚至很快變成 2 周)就更新一次,而系統(tǒng)自帶的 .NET 卻永遠(yuǎn)停在 4.8.1 版本。

      當(dāng)然,微軟也不是完全沒機(jī)會扭轉(zhuǎn)局面。

      Windows App SDK 至少比當(dāng)年繞進(jìn) WinRT / UWP 那一大圈要更靠譜一些。前面提到的打包和分發(fā)問題,其實也有不少“低垂的果實”可以改進(jìn)。另外,他們最近也提到要提升 Windows 的整體質(zhì)量,并且計劃在系統(tǒng)內(nèi)部更多使用 WinUI 3——理論上,這可能會反過來推動 WinUI 本身的完善。

      不過,我并不抱太大期待。從目前的情況看,大多數(shù)開發(fā)者也持相同的態(tài)度。

      Hacker News 上的人總愛感嘆“原生應(yīng)用的消亡”,但考慮到 Windows 應(yīng)用平臺如今的混亂程度,我寧可每天用 Web 技術(shù)棧,再用 Electron 或 Tauri 去橋接必要的 Win32 能力。

      110 萬美金懸賞!

      AMD 2026 線上黑客松大賽來襲

      從 MXFP4 MoE 算子爆改,到真實千倍并發(fā)下的吞吐量極限拉扯

      不看資歷,只看絕對速度

      挑戰(zhàn)DeepSeek?R1/KimiK2.5極致并發(fā)

      入圍即能拿 1 萬美金

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點推薦
      狗頭蘿莉又惹爭議!洛麗塔品牌找她穿同款,網(wǎng)友:fjl穿的誰敢買

      狗頭蘿莉又惹爭議!洛麗塔品牌找她穿同款,網(wǎng)友:fjl穿的誰敢買

      電競瓜皮
      2026-04-25 23:23:25
      馬斯克從政后殺瘋了,為干掉國內(nèi)秘密組織“深國”,提前安排后事

      馬斯克從政后殺瘋了,為干掉國內(nèi)秘密組織“深國”,提前安排后事

      干史人
      2025-02-21 21:30:05
      何潤東和他爸爸年輕時一模一樣

      何潤東和他爸爸年輕時一模一樣

      情感大頭說說
      2026-04-26 17:30:00
      從20萬到16億,一個普通散戶的“笨辦法”投資傳奇

      從20萬到16億,一個普通散戶的“笨辦法”投資傳奇

      流蘇晚晴
      2026-04-20 20:13:29
      韓鵬半場自我否定,落后沒招 彭嘯把隊友坑慘了 泰山2將災(zāi)難表現(xiàn)

      韓鵬半場自我否定,落后沒招 彭嘯把隊友坑慘了 泰山2將災(zāi)難表現(xiàn)

      替補(bǔ)席看球
      2026-04-26 19:12:50
      中國突然放出話來:以后再也不當(dāng)那個任勞任怨的冤大頭了

      中國突然放出話來:以后再也不當(dāng)那個任勞任怨的冤大頭了

      阿七說史
      2026-03-29 05:30:03
      日本高官放話,只要168小時,能全殲中國海軍,但中國不準(zhǔn)用導(dǎo)彈

      日本高官放話,只要168小時,能全殲中國海軍,但中國不準(zhǔn)用導(dǎo)彈

      忠于法紀(jì)
      2026-03-19 14:13:57
      31歲確診癌癥,洗澡時才發(fā)現(xiàn)!這種癌癥正悄悄“盯上”年輕人……

      31歲確診癌癥,洗澡時才發(fā)現(xiàn)!這種癌癥正悄悄“盯上”年輕人……

      BRTV新聞
      2026-04-21 19:11:57
      油價將于5月8日24時調(diào)整:預(yù)計汽柴油價格會重新上漲0.08-0.09元/升

      油價將于5月8日24時調(diào)整:預(yù)計汽柴油價格會重新上漲0.08-0.09元/升

      極目新聞
      2026-04-26 17:56:37
      不到24小時,特朗普險遭斬首,嫌疑人身份被扒,第一個慰問的是她

      不到24小時,特朗普險遭斬首,嫌疑人身份被扒,第一個慰問的是她

      聞識
      2026-04-27 00:41:39
      荷蘭媒體揭露:中國稀土供應(yīng)成半導(dǎo)體產(chǎn)業(yè)命脈,困境難解!

      荷蘭媒體揭露:中國稀土供應(yīng)成半導(dǎo)體產(chǎn)業(yè)命脈,困境難解!

      普陀動物世界
      2026-04-27 01:08:26
      肺癌開始時,四肢可能會有3個跡象,哪怕有了1個,都應(yīng)該重視!

      肺癌開始時,四肢可能會有3個跡象,哪怕有了1個,都應(yīng)該重視!

      墜入二次元的海洋
      2026-04-26 15:35:13
      “早知這么危險就不當(dāng)總統(tǒng)了”,特朗普和萬斯撤離畫面曝光!槍手系教師兼游戲開發(fā)者,作案目標(biāo)是誰?嫌疑人供認(rèn):美官員

      “早知這么危險就不當(dāng)總統(tǒng)了”,特朗普和萬斯撤離畫面曝光!槍手系教師兼游戲開發(fā)者,作案目標(biāo)是誰?嫌疑人供認(rèn):美官員

      每日經(jīng)濟(jì)新聞
      2026-04-26 16:27:34
      粟裕那一槍,到底是打歪了,還是故意打歪的

      粟裕那一槍,到底是打歪了,還是故意打歪的

      鶴羽說個事
      2026-03-30 22:03:41
      解放軍南海大陣仗,不是1國對7國,是25萬噸對10萬噸的碾壓

      解放軍南海大陣仗,不是1國對7國,是25萬噸對10萬噸的碾壓

      羅富強(qiáng)說
      2026-04-26 18:09:50
      跟腱撕裂!季后賽首個重傷報銷!果然剩者為王,西部爭冠格局驟變

      跟腱撕裂!季后賽首個重傷報銷!果然剩者為王,西部爭冠格局驟變

      林子說事
      2026-04-26 15:41:12
      開發(fā)商只剩122個車位,卻想獨(dú)占小區(qū)1300萬公共收益?業(yè)主群炸鍋

      開發(fā)商只剩122個車位,卻想獨(dú)占小區(qū)1300萬公共收益?業(yè)主群炸鍋

      小樹聊房
      2026-04-25 12:45:23
      外媒:中資工廠正將996加班文化傳入歐洲,擠壓當(dāng)?shù)卣>蜆I(yè)崗位

      外媒:中資工廠正將996加班文化傳入歐洲,擠壓當(dāng)?shù)卣>蜆I(yè)崗位

      凡人學(xué)電腦
      2026-04-25 23:23:58
      首組2-2!尼克斯大勝老鷹進(jìn)天王山 唐斯20+10+10布倫森19分

      首組2-2!尼克斯大勝老鷹進(jìn)天王山 唐斯20+10+10布倫森19分

      醉臥浮生
      2026-04-26 08:52:23
      我敢說,大部分會跟我一樣,選擇黑色衣服那個女孩!

      我敢說,大部分會跟我一樣,選擇黑色衣服那個女孩!

      草莓解說體育
      2026-04-12 17:05:01
      2026-04-27 03:44:49
      CSDN incentive-icons
      CSDN
      成就一億技術(shù)人
      26482文章數(shù) 242273關(guān)注度
      往期回顧 全部

      科技要聞

      漲價浪潮下,DeepSeek推動AI“價格戰(zhàn)”

      頭條要聞

      特朗普內(nèi)閣又一女部長落馬:強(qiáng)迫男下屬為其提供性服務(wù)

      頭條要聞

      特朗普內(nèi)閣又一女部長落馬:強(qiáng)迫男下屬為其提供性服務(wù)

      體育要聞

      森林狼3比1掘金:逆境中殺出了多孫穆?!

      娛樂要聞

      僅次《指環(huán)王》的美劇,有第二季

      財經(jīng)要聞

      事關(guān)新就業(yè)群體,中辦、國辦發(fā)文

      汽車要聞

      預(yù)售19.38萬元起 哈弗猛龍PLUS七座版亮相

      態(tài)度原創(chuàng)

      藝術(shù)
      手機(jī)
      游戲
      數(shù)碼
      本地

      藝術(shù)要聞

      72米舞臺被拆!華晨宇這次玩文旅,翻車了!

      手機(jī)要聞

      vivo Y600 Pro配備 6.83 英寸 1.5K 護(hù)眼屏,新機(jī)明天見!

      LOL最吸金戰(zhàn)隊誕生!T1主場坐滿15000人,LPL解說滿臉羨慕

      數(shù)碼要聞

      三星Tab S12系列進(jìn)入固件測試階段 或配10500mAh大電池

      本地新聞

      云游中國|逛世界風(fēng)箏都 留學(xué)生探秘中國傳統(tǒng)文化

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 男女性高爱潮久久| 中文精品无码中文字幕无码专区| 吐鲁番市| 婷婷伊人綜合中文字幕小说| 无套内谢少妇毛片aaaa片免费| 丰满人妻被中出中文字幕| 色五月激情五月| 国产黄片一区视频在线观看| 欧美老熟妇又粗又大| 国产精品a久久久久| 亚洲欧洲激情| 精品一二三| 亚洲中文字幕av无码区| 久久综合精品国产一区二区三区无 | 国产日产欧产精品精品| 武陟县| 亚洲精品中文字幕乱码| 夜夜国自一区| 国产午夜激无码av毛片| 成全我在线观看免费第二季| 亚洲欧美日韩高清一区| 韩国精品久久久久久无码| 天堂中文最新版在线中文| 一本一本久久aa综合精品| 亚洲成人网站视频| 小婕子伦流澡到高潮h| 久色资源| 久久精品一卡二卡| 天天爽夜夜爱| 波多野结衣一区二区三区高清| 精品人妻少妇一区二区三区| 色综合久久久久无码专区| 亚洲欧洲日产国码高潮αv| 强d乱码中文字幕熟女1000部| 少妇私密会所按摩到高潮呻吟| 久久精品国产亚洲AV无码不| 8x国产精品视频| 永定县| 亚洲乱码av中文一区二区| 一本大道中文字幕无码29 | 黄色高清无码|