| 
					阅读:2875回复:18
				 win2000下怎么让蜂鸣器发出声音
					请教高手:win2000下怎么让蜂鸣器发出声音,有没有简单的方法,在98下只要写端口就可以了。				 | |
| 最新喜欢: okincn | 
| 沙发#发布于:2002-06-25 21:10 请教高手:win2000下怎么让蜂鸣器发出声音,有没有简单的方法,在98下只要写端口就可以了。 简单的问题,可不一定有简单的方法。。。。。。。。。。 :) | |
| 
 | 
| 板凳#发布于:2002-06-25 21:13 
					还没有解决问题呢?解决了肯定给。				 | |
| 地板#发布于:2002-06-25 21:26 
					难道真的没有人可以解决吗?我不信				 | |
| 地下室#发布于:2002-06-25 21:43 
					应用?驱动?
 16 bit Application or 32 bit? | |
| 5楼#发布于:2002-06-25 21:51 
					应用。2000当然是32位 [编辑 - 6/25/02 by zjmwbb] | |
| 6楼#发布于:2002-06-25 21:57 
					答完呀				 | |
| 7楼#发布于:2002-06-25 22:01 
					能不能在2000下直接写端口?好象不太行,因为我在98下用这种方式写了一个dll,但在2000下不能用				 | |
| 8楼#发布于:2002-06-25 22:15 
					NT架构屏了端口
 在应用中麻烦一些,纯Ring3代码的话,你首先得取得Se_Tcb_Privilege特权,其次用NativeAPI ZwSetInformationProcess降低本进程IOPL,随后你可以像98一样处理。 Ring0下就不说了。 | |
| 9楼#发布于:2002-06-25 22:44 
					用什么api降低iopl(?),能不能说的更明白一点,本人将不胜感激 [编辑 - 6/25/02 by zjmwbb] | |
| 10楼#发布于:2002-06-26 08:42 
					extern\"C\"{
 typedef DWORD (__stdcall*ZWPROC)( IN HANDLE ProcessHandle, IN ULONG a, IN PVOID ProcessInformation, IN ULONG Length); } ... ZWPROC ZwSetInformationProcess; HINSTANCE hh=LoadLibrary(\"ntdll.dll\"); ZwSetInformationProcess=(ZWPROC)GetProcAddress(hh,\"ZwSetInformationProcess\"); 在你有TCB特权后调用之: ZwSetInformationProcess(GetCurrentProcess(),16,0,0); 麻烦的是获取特权。 | |
| 11楼#发布于:2002-06-26 08:45 
					???				 | |
| 12楼#发布于:2002-06-26 11:22 
					应用程序可以调用Win32 API
 Beep(Freq, Dur) 详细情况请查阅MSDN | |
| 
 | 
| 13楼#发布于:2002-06-26 12:03 
					beep 和sleep配合使用,挺好				 | |
| 14楼#发布于:2002-06-26 12:15 
					问题是别人专门编个DLL来发声,或许是想简单奏乐,hehe				 | |
| 15楼#发布于:2002-06-26 12:25 
					开始主观臆想用Beep会使声音有小间断(转音时),所以认为应该直接控制端口。试了一下,二者效果差不多。faint				 | |
| 16楼#发布于:2002-06-26 14:02 
					解决问题能简单就简单些吧				 | |
| 17楼#发布于:2002-07-01 20:16 
					最简单的办法是下一个WINIO,它提供了用户模式下访问端口的函数,读写端口就象dos下访问端口一样,而且有跨平台特性,编译后的程序可在98,NT,2000下运行。这可是象我这样不会写驱动的懒人的福音,呵呵				 | |
| 18楼#发布于:2002-07-02 17:44 
					如果你用VC,那么最简单的办法是:
 MessageBeep(0xFFFFFFFF); 函数 BOOL MessageBeep(UINT uType); 中的参数uType为以下之一时,将通过声卡发出系统设定的声音: MB_ICONASTERISK、MB_ICONEXCLAMATION、MB_ICONHAND MB_ICONQUESTION、MB_OK(缺省) 但如果是0x7FFFFFFF-0xFFFFFFFF范围内某个HEX数值时则由 嗡鸣器发出相应频率的BEEP声。 | |
 
							 
				 
				 
				 
				