回答
你必須先寫VGA驅動程序。和鼠標驅動程序。可能會讓垃圾收集器去。需要做的事情還很多。
嘿,先生,是COSMOS是開發操作系統的好工具 – 2015-01-15 15:43:02
是的! 你可以,我有一個很好的gui和一個可用的鼠標驅動程序。 所以是的,這是可能的,但是需要時間,並且當你做鼠標驅動程序時,你需要知道要寫和讀什麼,否則,這是可能的。
下面是如何(與里程碑5,但其他版本類似)。宇宙爲你做VGA的東西。它也做鼠標和鍵盤。我還沒有能夠製作鍵盤,但我有一個工作鼠標(儘管我還沒有能夠找出如何查看按鈕是否關閉)。我會向你展示VGA功能以幫助你開始。首先,你需要這個命名空間:
using Cosmos.Hardware;
然後,對於住在屏幕變量添加這個類級別的變量:
VGAScreen screen:
然後,對其進行初始化,該代碼添加到您的BeforeRun ()方法:
screen = new VGAScreen();
screen.SetMode320x200x8();
screen.Clear(0);
最後,您可以設置像素的顏色搭配:
screen.SetPixel320x200x8(uint x, uint y, uint c);
您設置x任意y和顏色c。顏色採用256色格式。數學涉及到形狀。
我是一個大COSMOS的傢伙,如果任何人遇到這個後來我想離開的方式做到2015年10月12日。
在我們開始之前我HIGHLY推薦使用devkit而不是userkit。雖然devkit是爲修改Cosmos本身而設計的,但您可以完全避開它,並在完成安裝後關閉VS窗口。 devkit有所有 userkit的功能,但userkit只更新一次,每月更新一次,也許更多,並且devkit每隔幾天更新一次最新的錯誤修復和功能。你一定要下載開發包,因爲它的支持也最多。
好吧,爲了得到VGA,打開一個新的Visual Studio窗口。創建一個新的Class Library
並將其命名爲任何你想要的。
轉到參考文獻並添加對Cosmos.HAL,Cosmos.Common和Cosmos.System的參考。你可以在其中找到%APPDATA%\漫遊\宇宙用戶套件
進入的AssemblyInfo.cs,並添加using Cosmos.Common;
,並在底部添加下面一行: [裝配:環(Ring.System)
好吧,現在您需要進入並創建一個名爲whatever的新類。
在頂部,添加一個使用Cosmos.HAL並使用系統。
添加兩行:
public static VGAScreen screen = new VGAScreen();
和public static Mouse mi = new Mouse();
名稱屏幕和MI任何你想要的。
創建一個名爲whatever的Init和Tick方法。
下面是一個例子初始化方法:
public static void InitVGA() {
//Make SURE you have this exact line or else it won't work! Any size other than 320x200 is broken, and 8-bit is the highest VGA compatible color depth.
screen.SetGraphicsMode(VGAScreen.ScreenSize.Size320x200, VGAScreen.ColorDepth.BitDepth8);
//There's a bug currently where only 6-bit color is supported with 8-bit. 0x3f is pure white.
screen.Clear(0x3f);
//mi.Initialize(320, 200);
}
現在在蜱方法,只需添加什麼。任何你想要發生的每一個像毫秒左右的事情。它可能就像繪製鼠標或其他東西一樣。你可以在互聯網上的其他地方找到,這是一個漫長的故事。
你走了,現在你已經在使用VGA了!您可以使用screen.SetPixel320x200x8(x,y,color)設置像素;您可以使用screen.SetPixel320x200x8(x,y,color)設置像素。
適用顏色範圍從0-3f。它遵循通用控制檯顏色0-f,但只是增加了更多的選項。
現在,只需構建此dll並將其引入您的主操作系統。現在將方法yourvgaclass.Init添加到內核中的BeforeRun方法中,並將yourvgaclass.Tick添加到內核中的Run方法中。
'AssemblyInfo.cs'在哪裏? – flash76 2017-11-20 20:32:32
- 1. 安裝cosmos-gui
- 2. OS X上的C#開發工具
- 3. C + GUI + Mac OS
- 4. C#/ .NET GUI開發工具
- 5. FIWARE Cosmos-GUI:無效的IdM用戶
- 6. 在Windows上開發動畫GUI
- 7. 在Mac OS上開發什麼東西?
- 8. 發佈在Mac OS X上用Cython寫的GUI應用程序
- 9. Python的GUI開發
- 10. 在Mac OS X上使用C#Mono的隨機GUI錯誤
- 11. Linux GUI開發
- 12. Java開發人員在Mac OS上遇到Objective-C
- 13. 如何在Mac OS上開發libvirt C++應用程序
- 14. Raspberry PI上Acorn RISC OS的開發
- 15. Objective-C僅用於Mac OS/iPhone上的開發嗎?
- 16. 使用c進行GUI開發#
- 17. 如何在Mac OS上發佈qt GUI應用程序?
- 18. GUI開發(在Android中)
- 19. 在Mac OS X上使用C++編寫GUI應用程序
- 20. C++跨平臺開發(Windows和Mac OS)
- 21. 開發GUI窗口
- 22. 在Linux上開發C#
- 23. Mac OS X上的Clozure CL:擺脫GUI?
- 24. 在OS X上的Eclipse C++
- 25. 煉油GUI開發的RGTK2
- 26. 圖Cosmos上的交易DB
- 27. 如何在我的Cosmos OS中繪製鼠標?
- 28. LWUIT 1.5的Mac OS開發
- 29. 如何在C++中開發自己的GUI而不是Win32 API?
- 30. Azure cosmos db觸發器
是什麼讓你相信這可能是可能的?您是否在某個地方閱讀過支持.NET的.NET? – 2010-03-12 00:57:53