自制Windows系统(十一、Windows11GUI)

开源地址:下载(Work(Windows11gui).img)

上图

 

 

 

部分代码:



void init_screen8(char *vram, int x, int y)
{
int *fat;
unsigned char c;
struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR;
boxfill8(vram, x, 136,  0,     0,      x -  1, y - 29);
fat = (int *) memman_alloc_4k(memman, 4 * 2880);
file_readfat(fat, (unsigned char *) (ADR_DISKIMG + 0x000200));
pic_read_picture(fat, vram, x, y);
memman_free_4k(memman, (int) fat, 4 * 2880);
	//boxfill8(vram, x, 136,  0,     0,      x -  1, y - 29);
	boxfill8(vram, x, COL8_C6C6C6,  0,     y - 28, x -  1, y - 28);
	boxfill8(vram, x, COL8_FFFFFF,  0,     y - 27, x -  1, y - 1);
	//my computer

	boxfill8(vram, x, COL8_C6C6C6, 10, 45, 45, 65);
	boxfill8(vram, x, COL8_00FFFF, 12, 47, 43, 63);
	boxfill8(vram, x, COL8_C6C6C6, 22, 65, 32, 75);
	boxfill8(vram, x, COL8_C6C6C6, 12, 75, 43, 77);
	
	putfonts8_asc(vram, x, 6, 90, COL8_000000, "此电脑");
	putfonts8_asc(vram, x, 5, 89, COL8_FFFFFF, "此电脑");
	
	//trash ben
	
	boxfill8(vram, x, COL8_C6C6C6, 11, 140, 39, 142);
	boxfill8(vram, x, COL8_848484, 12, 141, 38, 142);
	boxfill8(vram, x, COL8_848484, 11, 143, 39, 144);
	boxfill8(vram, x, COL8_C6C6C6, 10, 145, 40, 155);
	boxfill8(vram, x, COL8_C6C6C6, 11, 155, 39, 165);
	boxfill8(vram, x, COL8_C6C6C6, 12, 165, 38, 175);
	boxfill8(vram, x, COL8_848484, 13, 171, 37, 174);
	boxfill8(vram, x, COL8_FFFFFF, 11, 145, 39, 145);
	boxfill8(vram, x, COL8_0000FF, 18, 150, 22, 154);
	boxfill8(vram, x, COL8_C6C6C6, 18, 150, 18, 150);
	boxfill8(vram, x,         136, 23, 150, 27, 153);
	boxfill8(vram, x,         136, 26, 153, 28, 154);
	boxfill8(vram, x,         136, 14, 159, 17, 163);
	boxfill8(vram, x,         136, 17, 158, 17, 158);
	boxfill8(vram, x, COL8_0000FF, 17, 162, 21, 166);
	boxfill8(vram, x, COL8_0000FF, 22, 165, 22, 166);
	boxfill8(vram, x, COL8_C6C6C6, 17, 166, 17, 166);
	boxfill8(vram, x,         136, 25, 161, 29, 166);
	boxfill8(vram, x, COL8_0000FF, 28, 158, 32, 163);
	boxfill8(vram, x, COL8_C6C6C6, 32, 163, 32, 163);
	boxfill8(vram, x, COL8_C6C6C6, 32, 158, 32, 159);
	boxfill8(vram, x, COL8_C6C6C6, 25, 161, 25, 164);
	boxfill8(vram, x, COL8_C6C6C6, 26, 161, 26, 161);
	
	putfonts8_asc(vram, x, 6, 180, COL8_000000, "回收站");
	putfonts8_asc(vram, x, 5, 179, COL8_FFFFFF, "回收站");
	
	
	//set
	
	boxfill8(vram, x, COL8_FF0000, 5, 230, 20, 245);
	boxfill8(vram, x, COL8_00FF00, 23, 230, 38, 245);
	boxfill8(vram, x, COL8_0000FF, 5, 248, 20, 263);
	boxfill8(vram, x, COL8_FFFF00, 23, 248, 38, 263);
	putfonts8_asc(vram, x, 6, 270, COL8_000000, "设置");
	putfonts8_asc(vram, x, 5, 269, COL8_FFFFFF, "设置");

	/*
	//note

	boxfill8(vram, x, COL8_C6C6C6, 10, 280, 33, 310);
	putfonts8_asc(vram, x, 8, 280, COL8_C6C6C6, "-");
	putfonts8_asc(vram, x, 8, 285, COL8_C6C6C6, "-");
	putfonts8_asc(vram, x, 8, 290, COL8_C6C6C6, "-");
	putfonts8_asc(vram, x, 8, 295, COL8_C6C6C6, "-");
	putfonts8_asc(vram, x, 8, 300, COL8_C6C6C6, "-");
	putfonts8_asc(vram, x, 7, 320, COL8_000000, "记事本");
	putfonts8_asc(vram, x, 6, 319, COL8_FFFFFF, "记事本");

	//cmd

	boxfill8(vram, x, COL8_848484, 10, 99, 43, 123);
	boxfill8(vram, x, COL8_000000, 10, 100, 43, 123);
	putfonts8_asc(vram, x, 11, 102, COL8_FFFFFF, ">_");
	putfonts8_asc(vram, x, 10, 126, COL8_000000, "cmd");
	putfonts8_asc(vram, x, 9, 125, COL8_FFFFFF, "cmd");

	//VMware

	boxfill8(vram, x, COL8_FF0000, 10, 160, 28, 162);
	boxfill8(vram, x, COL8_FF0000, 10, 160, 12, 182);
	boxfill8(vram, x, COL8_FF0000, 26, 160, 28, 182);
	boxfill8(vram, x, COL8_FF0000, 10, 180, 28, 182);
	
	boxfill8(vram, x, 203, 15, 155, 30, 157);
	boxfill8(vram, x, 203, 15, 155, 17, 177);
	boxfill8(vram, x, 203, 30, 155, 32, 177);
	boxfill8(vram, x, 203, 15, 175, 30, 177);

	boxfill8(vram, x, COL8_FF0000, 10, 160, 28, 162);
	
	putfonts8_asc(vram, x, 5, 186, COL8_000000, "VMware");
	putfonts8_asc(vram, x, 4, 185, COL8_FFFFFF, "VMware");

	//game

	boxfill8(vram, x, COL8_00FF00, 10, 210, 40, 240);
	putfonts8_asc(vram, x, 12, 210, COL8_FF0000, "p l");
	putfonts8_asc(vram, x, 12, 224, COL8_FF0000, "a y");
	putfonts8_asc(vram, x, 6, 250, COL8_000000, "游戏");
	putfonts8_asc(vram, x, 5, 249, COL8_FFFFFF, "游戏");



	//DOSBox
	
	boxfill8(vram, x, COL8_848400, 10, 340, 40, 375);
	putfonts8_asc(vram, x, 12, 342, COL8_FFFF00, "DOS");
	putfonts8_asc(vram, x, 12, 358, COL8_FFFF00, "BOX");
	putfonts8_asc(vram, x, 6, 380, COL8_000000, "DOSBox");
	putfonts8_asc(vram, x, 5, 379, COL8_FFFFFF, "DOSBox");

	//python

	boxfill8(vram, x, COL8_FFFF00, 21, 405, 35, 415);
	boxfill8(vram, x, COL8_FFFF00, 21, 416, 30, 420);
	boxfill8(vram, x, COL8_0000FF, 20, 400, 30, 404);
	boxfill8(vram, x, COL8_0000FF, 15, 405, 30, 410);
	boxfill8(vram, x, COL8_0000FF, 15, 410, 20, 415);
	boxfill8(vram, x, COL8_FFFFFF, 22, 402, 22, 402);
	boxfill8(vram, x, COL8_FFFFFF, 28, 418, 28, 418);
	putfonts8_asc(vram, x, 6, 430, COL8_000000, "python");
	putfonts8_asc(vram, x, 5, 429, COL8_FFFFFF, "python");


	boxfill8(vram, x, COL8_000000, 75, 25, 115, 62);
	putfonts8_asc(vram, x, 80, 26, COL8_FF00FF, "Chat");
	putfonts8_asc(vram, x, 82, 45, COL8_FF00FF, "GPT");
	putfonts8_asc(vram, x, 70, 65, COL8_000000, "ChatGPT");
	putfonts8_asc(vram, x, 69, 64, COL8_FFFFFF, "ChatGPT");

	boxfill8(vram, x, COL8_000000, 75, 125, 115, 162);
	putfonts8_asc(vram, x, 80, 126, COL8_FF00FF, "func");
	putfonts8_asc(vram, x, 82, 145, COL8_FF00FF, "sin");
	putfonts8_asc(vram, x, 70, 165, COL8_000000, "函数");
	putfonts8_asc(vram, x, 69, 164, COL8_FFFFFF, "函数");
*/

	
	putfonts8_asc(vram, x, x - 180, y - 20, COL8_000000, "英");
	boxfill8(vram, x, COL8_00FFFF, 201, y - 23, 210, y - 14);
	boxfill8(vram, x, COL8_00FFFF, 201, y - 12, 210, y - 3);
	boxfill8(vram, x, COL8_00FFFF, 212, y - 23, 221, y - 14);
	boxfill8(vram, x, COL8_00FFFF, 212, y - 12, 221, y - 3);
	boxfill8(vram, x, COL8_848484, 225, y - 23, 350, y - 3);
	boxfill8(vram, x, COL8_FFFFFF, 226, y - 22, 349, y - 4);
	putfonts8_asc(vram, x, 227, y - 20, COL8_C6C6C6, "搜索...");


return;
}



void win_start_init_screen(char *vram, int x, int y)
{
	boxfill8(vram, x, COL8_C6C6C6,  2, y - 300,      355, y - 30);
	boxfill8(vram, x, COL8_FFFFFF,  3, y - 299,      354, y - 31);
	
	boxfill8(vram, x, COL8_848484,  13, y - 290,      300, y - 270);
	boxfill8(vram, x, COL8_FFFFFF,  14, y - 289,      299, y - 271);
	putfonts8_asc(vram, x, 20, y - 288, COL8_C6C6C6, "搜索本机应用......");
	putfonts8_asc(vram, x, 35, y - 264, COL8_000000, "已固定");
	//game

	boxfill8(vram, x, COL8_00FF00, 10, y - 240, 40, y - 210);
	putfonts8_asc(vram, x, 12, y - 240, COL8_FF0000, "p l");
	putfonts8_asc(vram, x, 12, y - 224, COL8_FF0000, "a y");
	putfonts8_asc(vram, x, 5, y - 210, COL8_000000, "游戏");



	//DOSBox
	
	boxfill8(vram, x, COL8_848400, 60, y - 243, 100, y - 210);
	putfonts8_asc(vram, x, 62, y - 243, COL8_FFFF00, "DOS");
	putfonts8_asc(vram, x, 62, y - 227, COL8_FFFF00, "BOX");
	putfonts8_asc(vram, x, 56, y - 210, COL8_000000, "DOSBox");

	//python

	boxfill8(vram, x, COL8_FFFF00, 141, y - 235, 155, y - 225);
	boxfill8(vram, x, COL8_FFFF00, 141, y - 224, 150, y - 220);
	boxfill8(vram, x, COL8_0000FF, 140, y - 240, 150, y - 236);
	boxfill8(vram, x, COL8_0000FF, 135, y - 235, 150, y - 230);
	boxfill8(vram, x, COL8_0000FF, 135, y - 230, 140, y - 225);
	boxfill8(vram, x, COL8_FFFFFF, 142, y - 238, 142, y - 238);
	boxfill8(vram, x, COL8_FFFFFF, 148, y - 222, 148, y - 222);
	putfonts8_asc(vram, x, 125, y - 210, COL8_000000, "python");
	
	
	//note
	boxfill8(vram, x, 203, 210, y - 240, 230, y - 215);
	boxfill8(vram, x, COL8_FFFFFF, 211, y - 216, 229, y - 216);
	putfonts8_asc(vram, x, 200, y - 210, COL8_000000, "记事本");
	
	
	//VMware

	boxfill8(vram, x, COL8_FF0000, 295, y - 230, 306, y - 228);
	boxfill8(vram, x, COL8_FF0000, 295, y - 230, 297, y - 218);
	boxfill8(vram, x, COL8_FF0000, 306, y - 230, 308, y - 219);
	boxfill8(vram, x, COL8_FF0000, 297, y - 220, 308, y - 218);
	
	boxfill8(vram, x, 203, 300, y - 235, 311, y - 233);
	boxfill8(vram, x, 203, 300, y - 235, 302, y - 223);
	boxfill8(vram, x, 203, 311, y - 235, 313, y - 224);
	boxfill8(vram, x, 203, 302, y - 225, 313, y - 223);
	
	putfonts8_asc(vram, x, 280, y - 210, COL8_000000, "VMware");
	
	//GPT
	
	boxfill8(vram, x, COL8_000000, 10, y - 180, 45, y - 143);
	putfonts8_asc(vram, x, 11, y - 178, COL8_FF00FF, "Chat");
	putfonts8_asc(vram, x, 15, y - 160, COL8_FF00FF, "GPT");
	putfonts8_asc(vram, x, 5, y - 140, COL8_000000, "ChatGPT");
	
	//cmd
	boxfill8(vram, x, COL8_000000, 70, y - 180, 103, y - 151);
	boxfill8(vram, x, COL8_848484, 70, y - 180, 103, y - 180);
	putfonts8_asc(vram, x, 71, y - 178, COL8_FFFFFF, ">_");
	putfonts8_asc(vram, x, 70, y - 140, COL8_000000, "cmd");
	
	
	boxfill8(vram, x, COL8_C6C6C6, 198, y - 172, 250, y - 154);
	putfonts8_asc(vram, x, 200, y - 170, COL8_000000, "全部 >");
	
	putfonts8_asc(vram, x, 10, y - 100, COL8_000000, "推荐的项目: hello.asm");
	boxfill8(vram, x, COL8_C6C6C6, 198, y - 102, 250, y - 84);
	putfonts8_asc(vram, x, 200, y - 100, COL8_000000, "更多 >");


	boxfill8(vram, x, COL8_848484, 4, y - 75, 353, y - 75);
	putfonts8_asc(vram, x, 50, y - 60, COL8_000000,"Administrator");
	putfonts8_asc(vram, x, 260, y - 67, COL8_000000,"关机");
	putfonts8_asc(vram, x, 260, y - 50, COL8_000000,"重启");
	return;
}


 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值