开源地址:下载(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;
}