目录:

  1. MessageBox() 和 PlaySound()
  2. 获得窗口 或屏幕大小
  3. 获得字体大小
  4. 输出文字
  5. 屏蔽和显示控制台窗口

1、 MessageBox() 和 PlaySound()

MessageBox() 参数说明 :link here

PlaySound() 参数说明 :link here

 // test for function MessageBox() and PlaySound()
// The program play the music file "c:\Users\Administrator\Desktop\Victory.wav" #include<windows.h>
#include<stdio.h>
#pragma comment(lib,"winmm.lib") // 告诉连接器与这个库连接,因为我们要播放多媒体声音
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"") int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nShowCmd)
{
system("title music player");
system("color 0b"); PlaySound("SystemStart",NULL, SND_ALIAS|SND_ASYNC);
printf("startup!\n"); MessageBox(NULL,TEXT("即将播放音乐"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
int rtn;
do{
printf("victory begin playing!\n");
PlaySound("c:\\Users\\Administrator\\Desktop\\Victory.wav", NULL, SND_FILENAME | SND_ASYNC);
rtn=MessageBox(NULL,TEXT("播放中,按重试重新播放,按取消结束播放"),TEXT("this is title"),MB_RETRYCANCEL |MB_ICONINFORMATION);
if(rtn==IDCANCEL)
{
PlaySound(NULL,NULL,NULL);
printf("music has been stop!\n");
break;
}
}while(rtn== IDRETRY); MessageBox(NULL,TEXT("播放程序已结束"),TEXT("提示"),MB_ICONINFORMATION);
return ;
}

MessageBox() PlaySound()

遗留问题—— 如何自定义MessageBox里的按钮?(可能思路:了解MessageBox的实现原理,以及相关的窗口原理,了解相应API ,所以可以先把Window编程相关知识看完,然后就是提高英语的阅读能力,使自己能够读懂MSDN上的document 和 stackFlow 等论坛上的专业解答)。。。。。。

2、获得窗口大小

窗口大小:

    case   WM_SIZE:
cxClient = LOWORD (lParam) ;
cyClient = HIWORD (lParam) ;

窗口矩形:

 GetClientRect (hwnd, &rect) ;

屏幕:

cxScreen=GetSystemMetrics ( SM_CXSCREEN) ;
cyScreen=GetSystemMetrics ( SM_CYSCREEN) ;

3、获得字体大小

  TEXTMETRIC    tm ;
hdc = GetDC (hwnd) ; SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;
GetTextMetrics (hdc, &tm) ; cxChar = tm.tmAveCharWidth ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;

cxChar = LOWORD (GetDialogBaseUnits ()) ;
cyChar = HIWORD (GetDialogBaseUnits ()) ;

4、输出文字

DrawText (hdc, TEXT ("Hello, Windows 98!"), -, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

//字体
SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;
//字的背景模式
SetBkMode (hdc, TRANSPARENT) ; TextOut (hdc, * cxChar, cyChar, szTop, lstrlen (szTop)) ;

5、屏蔽和显示控制台窗口

屏蔽控制台应用程序窗口 :link here

如何在Windows Application中应用printf函数? :link here

windows 编程—— 常用函数 与 操作的更多相关文章

  1. Windows API 常用函数---转载

    Windows API 常用函数 2014-10-15 14:21  xiashengwang  阅读(2105)  评论(0)  编辑  收藏 .Net中虽然类库很强的,但还是有些时候功能有限,掌握 ...

  2. SqlServer存储过程中常用函数及操作

    1.case语句 用于选择语句 SELECT ProductNumber, Category = CASE ProductLine WHEN 'R' THEN 'Road' WHEN 'M' THEN ...

  3. windows 编程—— 使用函数笔记

    目录: 创建滚动条 滚动条函数(新老版本) 取得设备内容句柄hdc 设置 hdc 中的属性 画点画线 画填充图形 使用自定义的 画笔 和 画刷 矩形.区域和剪裁 关于GDI映像模式 其他常用的方便计算 ...

  4. Windows编程常用api

    转载网络 黑客常用WIN API函数整理 一.进程 创建进程: CreateProcess (,,,,,,,&si,&pi); WinExec("notepad", ...

  5. UNIX环境高级编程——网络编程常用函数及结构

    IP地址的转换 #include <arpa/inet.h>  int inet_aton(const char *strptr,                     struct i ...

  6. Shell编程常用函数

    1.打印提示消息函数,不同级别消息使用不同的颜色显示.其中错误信息提示为红色字体. # -------------------------------------------------------- ...

  7. Windows API 常用函数

    .Net中虽然类库很强的,但还是有些时候功能有限,掌握常用的api函数,会给我们解决问题提供另一种思路,下面给出自己常用到的Api函数,以备查询. 知道api函数,但却不知道c#或VB.net该如何声 ...

  8. Pandas库常用函数和操作

    1. DataFrame 处理缺失值  dropna() df2.dropna(axis=0, how='any', subset=[u'ToC'], inplace=True) 把在ToC列有缺失值 ...

  9. Windows API常用函数

    转自:http://www.cnblogs.com/xiashengwang/p/4026259.html .NET中虽然类库很强,但还是有些时候功能有限,掌握常用的api函数, 会给我们解决问题提供 ...

随机推荐

  1. 修改Calendar(梅花雨)日历控件 兼容IE9 谷歌 火狐

    修改Calendar日历控件 兼容IE9,谷歌,火狐. 只是能用,出现的位置有所不同,希望有高手再帮我改改吧,谢谢   一. [javascript]   this.iframe     = wind ...

  2. Core Python Notes

    开发需要在读 Python 核心编程,一些 Point 记录如下. ******************************************** 版本相关 标准版的 Python 是用 C ...

  3. 安装ZendDebugger 调试php

    一直懒得装断点调试工具,平时调试就用echo var_dump debug_print_backtrace 搞搞. 今天同事装了个xdebug,看着眼馋.于是想自己也装一个,由于平时用zend stu ...

  4. 系统spt_values表--生成时间方便left join

     时间处理我给你提供一个思路   系统有个spt_values表,可以构造一整个月的日期,然后左连接你统计好的数据,用CTE表构造多次查询 spt_values的超级经典的应用 http://www. ...

  5. MIME协议

    转:http://blog.csdn.net/flfna/article/details/5048290 MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候 ...

  6. Data Types

    原地址: Home / Database / Oracle Database Online Documentation 11g Release 2 (11.2) / Database Administ ...

  7. C++ 实现网络爬虫

    吐槽 前天心血来潮, 把自己面试经历下了下来. 我觉得自己求职一路来比较心酸, 也付出了比一般人更多的汗水. 本以为写出来, 好歹可以作为一篇励志故事. 得到的评论却是, 语言只是一门工具. ||| ...

  8. 关于USACO Training

    做了这么久的题目,突然发现最经典的 USACO Training 还没有做过?加速水一遍吧!我会把题解放在上面的.

  9. JavaScript-学习一

    JavaScript 对大小写是敏感的. 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getElementById 与 getElementbyID 是不同的. 同样,变 ...

  10. underscorejs-pluck学习

    2.14 pluck 2.14.1 语法: _.pluck(list, key) 2.14.2 说明: pluck方法根据key对list数组中的每个对象进行检索,返回检索成功的属性值,否则返回und ...