go语言让windows发出声音,或者播放音乐
go语言让windows发出声音,或者播放音乐的例子:会发出alert警告的声音
( 这是我应群员的求助写的, 如果你需要了解其中的调用原理或过程 或更多go语言调用win32api的资料,加群: 218160862 , 答案我告诉你)
点击加入
package main
import "syscall"
func main(){
winSound()
}
// golang 让windows发出警告的声音 todo 需要完善播放mp3之类
func winSound( ) {
funInDllFile, err := syscall.LoadLibrary("Winmm.dll") // 调用的dll文件
if err != nil {
print("cant not call : syscall.LoadLibrary , errorInfo :" + err.Error())
}
defer syscall.FreeLibrary(funInDllFile)
// 调用的dll里面的函数是:
funName := "PlaySound"
// 注册一长串调用代码,简化为 _win32Fun 变量.
win32Fun, err := syscall.GetProcAddress(syscall.Handle(funInDllFile), funName)
// 通过syscall.Syscall6()去调用win32的xxx函数,因为xxx函数有3个参数,故需取Syscall6才能放得下. 最后的3个参数,设置为0即可
_, _, err = syscall.Syscall6(
uintptr(win32Fun), // 调用的函数名
3, // 指明该函数的参数数量
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("alert") ) ), // 该函数的参数1. 可通过msdn查找函数名 查参数含义
// SystemStart
uintptr( 0 ), // 该函数的参数2.
uintptr( 0 ), // 该函数的参数3.
0,
0,
0 )
}
go语言让windows发出声音,或者播放音乐的更多相关文章
- 关于Windows 8使用WMP播放音乐时WUDFHost跑CPU和硬盘的问题解决
Windows 8使用Windows Media Player播放音乐的时候.事实上有一个这种情况,WMP和某个什么名字看起来非常屌的进程跑CPU非常高,这个跑非常高视你插入的SD卡内的文件数或者移动 ...
- C# 里窗体里(windows form)怎么播放音乐
在.NET的winform里面,没有托管的音乐播放器,API只能播放WAV格式,对于MP3等形式的音频文件,就要依赖于 MediaPlayer里,嘿嘿 使用的方法: 在toolbox上点右键,选择“选 ...
- 借助VBScript让Windows系统发出声音
借助VBScript让Windows系统发出声音.. 文件I Love You.VBS中的内容是: CreateObject("SAPI.SpVoice").Speak" ...
- 简单代码在ABAP中实现声音的播放
这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REP ...
- Winform Windows Media Player 简易播放器 分类: WinForm 2014-07-31 20:12 589人阅读 评论(0) 收藏
新手上路,高手勿进! 窗体设计: 实现效果: 实现代码: using System; using System.Collections.Generic; using System.ComponentM ...
- Windows基础-使用XAudio2播放音频(本质是WASAPI)
对于常见的音频播放,使用XAudio2足够了. 时间是把杀猪刀,滑稽的是我成了猪 早在Windows Vista中,M$推出了新的音频架构UAA,其中的CoreAudio接替了DSound.WaveX ...
- 【分享】4412开发板ubuntu 12.0.4播放音乐没有声音解决方法
转自迅为论坛:http://bbs.topeetboard.com 准备工作 1.下载 vim 在命令行上输入 apt-get install vim 下载 vim 2.输入 vim /etc/hos ...
- cocos2d游戏界面卡住声音正常播放的问题分析
cocos2d游戏界面卡住声音正常播放的问题分析 从目前已知的情况看,出现这种情况只可能是设备的内存不够导致的. 从代码上来说内存不够时会调用AppController的“- (void)applic ...
- 使用C语言编写windows服务一般框架
原文:使用C语言编写windows服务一般框架 编写windows服务和编写windows应用程序一样,有一些回调函数必须填写且向windows 服务管理器(service manager)进行注册, ...
随机推荐
- 十天学会<div+css>横向导航菜单和纵向导航菜单
纵向导航菜单及二级弹出菜单 纵向导航菜单:一级菜单 <head><style type="text/css">body { font-family: Ver ...
- JQuery,拼接字符串问题(求助)
Js代码 $("#span_btnSave").html(str1); 结果 <span id="span_btnSave"><button ...
- sql server 脚本创建数据库和表
USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTem ...
- react参考项目001
https://github.com/chen2009277025/webpack-ant-design-demo https://github.com/cobish/cobish.github.io ...
- openssl
openssl genrsa -des3 -out server.key 1024openssl req -new server.key -out servr.csr seserver-fnamese ...
- javap反编译解释外部类直接使用内部类private字段的原理
2016-07-04 15:56:39 我们都知道: 1.内部类可以直接访问外部类的private字段和方法: 2.非静态内部类持有外部类的引用: 3.外部类可以直接访问内部类的private字段和方 ...
- C# 进程和线程
一.进程和线程 进程是对一段静态指令序列的动态执行过程,是系统进行资源分配和调度的基本单位.与进程相关的信息包括进程的用户标志.正在执行的已经编译好的程序.程序和数据在存储器中的位置等.同一个进程有可 ...
- HttpServletResponse常用的方法
所有Servlet响应都实现ServletResponse接口.ServletResponse接口主要有以下方法: (1)从Servlet中可以通过getWriter方法取得PrintWriter对象 ...
- css文本换行相关属性及解释
本文摘自 http://www.wufangbo.com/css-qiang-zhi-huan-hang/ 强制换行与强制不换行用到的属性 我们一般控制换行所用到的CSS属性一共有三个:word-wr ...
- C#按行读取文本并存放再数组内
我只想说真的是日了狗的麻烦,代码就那么几行,但是根本看不懂在搞些什么东西,我现在还是一点都不知道getline函数到底是怎么用的,但是事实就是他确实能用. 期间在那该死的第一个char根本不知道为什么 ...