【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3140|回复: 3

VC中的一些常用用法(一)

[复制链接]
发表于 2006-2-28 11:16:23 | 显示全部楼层 |阅读模式

VC中的一些常用用法

1、得到当前鼠标所在位置
CPoint pt;
GetCursorPos(&pt);//得到位置

2、一次只运行一个程序实例,如果已运行则退出
if(FindWindow(NULL,"程序标题")) exit(0);

3、打开/关闭CD-ROM
(1)在stdafx.h文件中加上:
include <mmsystem.h>
(2) project->settings
Link页 Category: input 中的 Object/library modules:
加上winmm.lib
(3)按钮事件中加入以下代码:
mciSendString("Set cdAudio door open wait",NULL,0,NULL);//打开
mciSendString("Set cdAudio door closed wait",NULL,0,NULL);关闭

4、打开网址或mail,运行其它程序
(1)运行EMAIL或网址
char szMailAddress[80];
char szHttp[80];
strcpy(szMailAddress,"mailto:yz-zm@163.com");
strcpy(szHttp,"WWW.163.com");
ShellExecute(NULL,"open",szMailAddress,NULL,NULL,SW_SHOWNORMAL);
ShellExecute(NULL,"open",szHttp,NULL,NULL,SW_SHOWNORMAL);
(2)运行其它程序
在按钮的消息映射函数中调用下面的API:(假定你的可执行文件名为filename.exe)
ShellExecute(this->m_hWnd, "open", "C:\\filename.exe", NULL, NULL,

SW_MAXIMIZE) ;
WinExec("notepad.exe",SW_SHOW);

5、如何让MDI或者SDI的最大化按钮失效??
(1)
CMainFrame:reCreateWndow(cs)
{
cs.style &= ~WS_MAXIMIZEBOX;//使最大化按钮失效
cs.style &= ~WS_MINIMIZEBOX;//使最小化按钮失效
cs.style &= ~WS_THICKFRAME;//固定窗口的大小
}
(2)你如果采用应用程序向导Appwizard建立MFC应用程序框架,在Step 4 of 6中单击

Advanced.....(高级)按钮,旧可以在弹出的 Advanced Option中对Tick Frame更

改设置就可以实现不可以通过拖动窗口改变大小。

6、如何在我得程序用release编译方式?

在 Bulid 下有个 Configurations 菜单,加入一个Release 配置。然后设置Bulid下 Set

Active Configuration 菜单,将Release 版本设为激活的。这样就可以编译Release 版

本的程序了,发布的时候可以删除Debug版本

发表于 2006-6-4 10:29:28 | 显示全部楼层
[em06]顶一顶~~~
发表于 2006-3-24 00:40:42 | 显示全部楼层

补充:

由于本人菜鸟,读到mciSendString("Set cdAudio door open wait",NULL,0,NULL);不理解,在BAIDU找到

以下资料,以便于其他菜鸟共同学习.

MCI的命令字符串共有7个,其名称、功能及其用法如下表:


名称
语法形式
说明

open
OpenCDAudioaliasCD
Open命令的功能是打开一个CDAudio设备,其中CDAudio为设备名;alias为赋予CDAudio设备的一个别名。

例如,要打开一个设备名称为CD的设备,我们可以这样写语句:mciExecute“opencdaudioaliascd”

close
Close设备别名
Close命令的功能是关闭一个已经打开的CDAudio设备。

例如,要关闭一个设备名称为CD的设备,我们可以这样写语句:mciExecute“close cd”

play
Play设备别名 from[position1] to [position2]
Play命令的功能是播放一个已经打开的CDAudio设备上的CD音乐。参数from[position1] to [position2]指定CDAudio播放的起始位置和结束位置,如果省略,就从开始点播放到终点。

例如,要从开始点播放CDAudio设备上的CD音乐,我们可以这样写语句:mciExecute“play cd”

stop
Stop设备别名
Stop命令的功能是停止一个正在播放的CDAudio设备上的CD音乐。

例如,要停止播放CDAudio设备上的CD音乐,我们可以这样写语句:mciExecute“stop cd”

seek
Seek设备别名 参数
Seek命令的功能是搜索CDAudio设备上的指定位置。其中的参数有三种:(1)toposition:移动到程序指定的位置(2)tostart:移动到起始位置(3)toend:移动到结束的位置。

例如,要跳到CDAudio设备上的结束位置,设备别名为CD,我们可以这样写:mciExecute“seek cdto end”

set
Set设备别名 参数
Set命令的功能是设置CDAudio设备的状态。其中的参数为:(1)Audioallon:关闭声音输出;(2)Audioallon:打开声音输出;(3)Audiolefton:打开左声道声音输出;(4)Audioleftoff:关闭左声道声音输出;(5)Audiorighton:打开右声道声音输出; (6)Audiorightoff:关闭右声道声音输出;(7)Dooropen:退出CD光牒 (8)Doorclosed:合上光驱(8)Timeformatmilliseconds:设置时间格式为毫秒

例如,我们要实现单声道(左声道)输出声音的效果,可以这样写:mciExecute“setcdaudiolefton”

mciExecute“setcdaudiorightoff”

status
Status设备别名参数
Status命令的功能是获取已经打开的CDAudio设备上的信息。此命令的参数说明如下:(1)Length:CD光碟的时间长度;(2)Mode:CDAudio设备的状态;(3)Position : 当前的位置 ; (4)startposition:CD光碟的起始位置;(5)Timeformat:当前的时间格式;(6)Numeroftrack:CD光碟的轨道数

mciSendString()函数的功能与mciExecute()函数相似,也是发送一个命令字符串给MCI,但是mciSendString()函数再传送字符串的同时还可以接受反馈的信息。

MciSendString()函数的返回值为Long型值,如果返回值为0,表示调用失败;如果返回值不为0,表示调用成功。

MciSendString()的参数说明如下:

(1)lpstrCommand:传送给MCI的命令字符串;

(2)lpstrReturnString:指向一个预备接受信息的文本缓冲区;

(3)uReturnLength:所指定的文本缓冲区大小;

(4)hwndCallback:用来接受确认信息的LpstrCommand,代表传送给MCI的命令字符串。

发表于 2006-5-11 23:33:53 | 显示全部楼层
bucuobucuo zhichi zhichi !!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-5-6 08:58

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表