生成控制台(Console)程序EXE的图标

第一种 为你的console工程加入一个资源文件并加入一个ico)

     其实这样就可以了,因为第一个加入的icon(资源ID值为101)程序就会默认生成EXE的图标了

 

第二种 程序指定(也要为工程加入一个资源文件和一个ico)

#include   "stdafx.h"   
    
  int   main(int   argc,   char*   argv[])   
  {   
  HWND   hwnd=GetConsoleWindow();   
  SendMessage(hwnd,WM_SETICON,ICON_SMALL,(   LPARAM   )LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(101)));   
  scanf("a");   
  return   0;   
  }  

 

  

 其中101 就是你的ICON资源ID,可以换成其他的

 

  在stdafx.h中   
  #define   _WIN32_WINNT   0x0500   
  #define   WINVER   0x0500   
    
  #define   WIN32_LEAN_AND_MEAN //   Exclude   rarely-used   stuff   from   Windows   headers   
    
  #include   <stdio.h>   
  #include   <windows.h> 

  

main函数也可以用如下替代

#include   "stdafx.h"   
    
  int   main(int   argc,   char*   argv[])   
  {   
  HICON   hIcon=AfxGetApp()->LoadIcon(IDI_Main);   
  HWND     hwnd=GetConsoleWindow();       
  SendMessage(hwnd,WM_SETICON,ICON_SMALL,(LPARAM)hIcon); 
  scanf("a");   
  return   0;   
  } 

 

 

 其中IDI_Main就是ICON资源ID号

 

不过这样编译会出错,说GetConsoleWindow未定义

解决方法是在在使用该函数前声明:

extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow (); 

 

#include   "stdafx.h"   
   extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow (); 
  int   main(int   argc,   char*   argv[])   
  {   
  HICON   hIcon=AfxGetApp()->LoadIcon(IDI_Main);   
  HWND     hwnd=GetConsoleWindow();       
  SendMessage(hwnd,WM_SETICON,ICON_SMALL,(LPARAM)hIcon); 
  scanf("a");   
  return   0;   
  }   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值