| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8151 人关注过本帖
标题:急需关于C语言API函数 SetConsoleFont(HANDLE,DWORD)的应用实例
只看楼主 加入收藏
free琦琦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
急需关于C语言API函数 SetConsoleFont(HANDLE,DWORD)的应用实例
亲们!
有会用C语言API函数 SetConsoleFont(HANDLE,DWORD)的吗,给小弟举个实例呗,我想实现对ConsoleApplication生成的exe可执行文件窗口内字体大小的调整,因为当我试着去改变程序运行的窗口大小时,发现仅仅是窗口大小改变了,而窗口内字体的大小却不变。亲们,帮帮小弟哈,小弟不胜感激,需要详细的改变字体大小的例子 - - 不需要那种只说半截话的help,谢谢啦~(>_<)~~
搜索更多相关主题的帖子: C语言 执行文件 不胜感激 
2016-08-20 16:43
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <windows.h>

typedef struct _CONSOLE_FONT_
{
    DWORD index;
    COORD dim;
} CONSOLE_FONT, *PCONSOLE_FONT;

typedef BOOL  WINAPI (*SETCONSOLEFONT)(HANDLE, DWORD);
typedef BOOL  WINAPI (*GETCONSOLEFONTINFO)(HANDLE, BOOL, DWORD, PCONSOLE_FONT);
typedef DWORD WINAPI (*GETNUMBEROFCONSOLEFONTS)();

int main(void)
{
    HMODULE hKernel32 = LoadLibrary("kernel32.dll");
    if (hKernel32 == 0) return 0;
    SETCONSOLEFONT SetConsoleFont = (SETCONSOLEFONT)GetProcAddress(hKernel32, "SetConsoleFont");
    GETCONSOLEFONTINFO GetConsoleFontInfo = (GETCONSOLEFONTINFO)GetProcAddress(hKernel32, "GetConsoleFontInfo");
    GETNUMBEROFCONSOLEFONTS GetNumberOfConsoleFonts = (GETNUMBEROFCONSOLEFONTS)GetProcAddress(hKernel32, "GetNumberOfConsoleFonts");

    HANDLE hSTD = GetStdHandle(STD_OUTPUT_HANDLE);    
    //SetConsoleFont(hSTD, 2);
    //SetConsoleFont(hSTD, 15);
    SetConsoleFont(hSTD, 17);

    DWORD dwFonts = GetNumberOfConsoleFonts();
    if (dwFonts > 50) dwFonts = 50;
    
    CONSOLE_FONT stFonts[50] = {0};
    GetConsoleFontInfo(hSTD, FALSE, dwFonts, stFonts);
    
    DWORD i;
    for (i=0; i<dwFonts; i++)
    {
        stFonts[i].dim = GetConsoleFontSize(hSTD, stFonts[i].index);
        printf("%d, %hd, %hd\n", stFonts[i].index, stFonts[i].dim.X, stFonts[i].dim.Y);
    }

    FreeLibrary(hKernel32);
    return 0;
}

2016-08-20 21:45
free琦琦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-20
收藏
得分:0 
回复 2楼 吹水佬
运行你的程序直接报了好多错误 为什么
2016-08-20 22:11
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 3楼 free琦琦
编译器不同?
主要是 GetStdHandle()和SetConsoleFont(),参照改改应该可以。
2016-08-21 00:08
free琦琦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-20
收藏
得分:0 
回复 4楼 吹水佬
我用的是 VisualC++6.0   - - 不会改怎么办 我还有救不
2016-08-21 21:16
free琦琦
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-20
收藏
得分:0 
回复 4楼 吹水佬
我还想往exe里面加音乐 我该如何做呢
2016-08-21 21:30
时光催老人
Rank: 1
来 自:汉中
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-2-20
收藏
得分:0 
啊?那你还是用C#吧

Hello World!
2019-02-20 20:08
快速回复:急需关于C语言API函数 SetConsoleFont(HANDLE,DWORD)的应用实例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018413 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved