控制台的GUI组件 Phos

码农软件 · 软件分类 · 其他开发相关 · 2019-10-31 07:14:16

软件介绍

当我们使用 C语言或者汇编语言开发非托管的 Windows 应用程序时,开发工具的链接器会生成基于控制台的应用或者是 Windows 类型的可执行程序。而基于控制台的应用程序在运行的时候,其标题显示的是 CMD.EXE 程序的信息,而真正的 Windows 应用则可以通过调用 Win32 API 来设置窗口的标题栏。如下图所示:

而这两种方法对很多开发者来说都是没有必要的,他们只开发控制台的应用,又不想显示 CMD.EXE 信息。而 Phos 就是帮你完成这个工作的。

示例代码(源码下载):

#include <stdio.h>
#include <stdlib.h>

#include "phos.h"

///////////////////////////////////////////////////////////////////////////////

int main(int argc, char *argv[])
{
HICON hIco;

hInstMain = GetModuleHandle(NULL);

// if you don't provide an icon, pass NULL
// to use phos default icon from DLL

hIco = LoadIcon( hInstMain, MAKEINTRESOURCE(APP_ICON) );

if (load_DLL_functions()) {
pfn_phos_start_window( phos_thread_func,
phos_init_callback,
phos_exit_callback,
hIco );
}
return 0;
}
// phos_init_callback() is called once, when the phos console
// window is displayed (WM_CREATE handler)

void phos_init_callback ( HANDLE hWin, HANDLE hInstDll )
{
pfn_phos_set_caption( "Test" );

pfn_phos_set_colorscheme ( PETROL_GREEN );

pfn_phos_printstr("phOS Win32 CP1252/VGA", 0xFFFFFF, 0);
pfn_phos_vscroll();

pfn_phos_printstr("type 'exit' to quit", 0xFFFFFF, 0);
pfn_phos_vscroll();
}

///////////////////////////////////////////////////////////////////////////////

// phos_exit_callback() is called once, when the phos console
// window is about to close (WM_DESTROY handler)

void phos_exit_callback()
{
}

本文地址:https://codercto.com/soft/d/17937.html

Kafka技术内幕

Kafka技术内幕

郑奇煌 / 人民邮电出版社 / 2017-11 / 119.00元

Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以0.10版本的源码为基础,深入分析了Kafka的设计与实现,包括生产者和消费者的消息处理流程,新旧消费者不同的设计方式,存储层的实现,协调者和控制器如何确保Kafka集群的分布式和容错特性,两种同步集群工具MirrorMaker和uReplicator,流处理的两种API以及Kafka的一些高级特性等。一起来看看 《Kafka技术内幕》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具