POPPUR爱换

标题: 默认声音播放设备更换程序(适用于多声卡系统)v1.4 11/08更新 [打印本页]

作者: gzXW    时间: 2007-10-29 11:41
标题: 默认声音播放设备更换程序(适用于多声卡系统)v1.4 11/08更新
更新历史:  c) C. j2 Q5 s
1.0.1   修正一个判断返回值的bug,请重新下载新版本,抱歉。& h2 i+ M1 H7 d- D/ {
1.0.3   修正中文窗口标题识别。
" L- I: o: P' e, V
1.2.0   重要改进,使用消息控制设备更改,适用所有语言的Windows。(去除使用mmsys.cpl来更改设备的方法)+ Z; j  ?$ n1 ?8 ~6 @
          在非简体中文系统中,以英文显示。

" N$ k$ B+ U8 t, {9 w# w1.3.0   10/31/2007更新,主要是增加通知栏图标,及相应切换菜单,使用更加方便。
3 y' d+ r, j7 C( f      以带参数的快捷方式运行时,程序在更改设备后提示消息,然后延时8秒退出。如果在此之前本程序已经有一个副本在运行,则更改完设备后立即退出。
8 T, C9 O3 V* A: I! v6 E      不带参数直接运行时,程序驻留系统通知栏,在设备发生更改时显示变更消息。(在控制面板中对设备作出更改时,本程序也能接收到消息)
, k  U/ {" |9 r; S! R  z- n4 h7 j7 k      通知栏图标说明:左击,显示/隐然程序主窗口;右击,显示设备列表菜单,可以直接点菜单切换设备。0 |# v/ F; Z4 s- n
1.3.2   修正两处界面显示错误。
4 u- a$ B& F! F# @  ~3 g
1.3.3   重要更新:修正一处消息比较的错误。此bug会造成程序无法正确知道设备已经发生更改事件,无法显示相应的消息。
2 }7 ^( b& H" }% i1.4.0.9 11/02加入录音设备的选择切换,气泡提示设为可选项,保存窗口位置。 ' |( g: c' x+ y: n( x$ o
           由于新版本的快捷方式对数与旧版本不一样,请重新生成桌面快捷方式。

9 Z2 b% h) e% l, ?/ ?1.4.0.25列表框中的当前默认设备改为红色显示;生成快捷方式时可以自由选择保存位置及名称;增加随Windows启动运行选项。
3 Y5 `+ J* H' c8 e7 I1.4.0.39合并一些函数过程;调整窗体界面显示效果。
9 T: \9 _) s% [# P' l  

% [/ N% H* ^7 ^6 [1 L; x1.4.0.40 当系统移走一块声卡时,windows注册表中的对应信息并不同步更新,造成本程序出错而关闭。此版本消除这个出错的bug,会提示用户重新设置一次,当用户设置当前的声卡为默认设备后,注册表中的错误信息可以得到更正而不再报错。
* U: P0 V8 j/ Q
  , L3 N+ m9 r, t9 B0 B
            MD5: 420b571b57e6f664667b6b0b77f20337  ChangeSoundDevice.exe
4 E6 T3 k% B/ j. _$ x' \
, {2 Y; p& o) b看来坛子上多声卡的兄弟不少。3 n8 U7 V5 u1 u2 e2 i
前天按一位兄弟的要求用vbscript做了一个切换脚本,脚本有一个缺点是无法应对多个设备名称首字母相同的声卡。7 H) e0 Q- _2 a, P2 V# ^6 L7 G% w6 u
现在更新一下,用VB做了类似功能的程序,可以实现精确选择声卡输出设备端口,比用vbscript做的要强。$ _9 W  {+ f6 q# k. Q  r& }" L( P
4 F% y5 y! [- |' E% d( p8 K% W
默认声音播放设备切换程序(多声卡切换软件)
9 B' r$ }1 g* H' H支持Windows XP/2003。 2 E5 @& W" V/ ]5 g9 g! `3 O0 r

' [1 F" k% ^2 ~1 b7 x本程序为多声卡用户制作。相比传统通过控制面板更换默认播放设备的方法,本程序能为你更快捷的切换设备。' t1 M8 O/ ]2 D( I0 o
你可以利用本程序为每个设备端口生成对应的桌面快捷方式,运行此快捷方式可以直接切换至对应设备。
& A) Y  Z% C6 X% y8 ]) R* D. T$ ^! ?* I1 _6 s4 C
8 `8 ~4 n% J' H$ w
A program allows you to change the default sound playback device quickly.
' U7 N0 H5 L+ U$ C5 vIt is very useful for users with more than one soundcard. . g( T- v! `- c
With this tool  you can generate a series of desktop shortcut for each sound device,  and then you run the shortcut can be directly switched to the corresponding device.
9 M+ d4 }2 G( Z# ^( lThis tool supports Windows XP/2003.
0 [2 y. K" t( g6 o' |$ f* |
3 Y5 p5 \% N, X5 _' R' Z$ X[attach]798570[/attach]! N  o! p: M& s6 M4 s
自动检测设备更改:[attach]797772[/attach]
- n1 x5 \/ P0 G( ?使用菜单也可以切换:[attach]797773[/attach]
5 `0 M( ]0 h' L+ R0 O* [( _% t1 o9 G2 b
[ 本帖最后由 gzXW 于 2007-12-12 15:41 编辑 ]
作者: gzXW    时间: 2007-10-29 11:45
vbscript的脚本见贴:8 m6 S3 u' A2 O3 [
. s" |, X3 ]+ j1 |/ z# y
http://we.pcinlife.com/thread-838287-1-1.html
作者: garry    时间: 2007-10-29 11:50
好东西来咯!
. L7 Z2 E+ P3 C% q; c: w; Z+ {) O8 r顶下:lol:
作者: terryddb    时间: 2007-10-29 12:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: nbmsa    时间: 2007-10-29 12:38
试了下,不支持USB声卡哦
作者: gzXW    时间: 2007-10-29 12:45
原帖由 nbmsa 于 2007-10-29 12:38 发表
$ ?) n2 N. h- {8 W试了下,不支持USB声卡哦

# ?. Z& h2 }: O: |# i; X$ f$ z: L* X0 y' X: S5 s6 T: f
列表中有没有显示出USB声卡?7 @; U& ^, P! ^6 B# F) b: \, I

: m" j' r( g+ c  W' {我没有USB声卡,没法试。:(
作者: flz821028    时间: 2007-10-29 13:35
用不着:crying:
作者: sd-iori    时间: 2007-10-29 13:44
不错,,,,,,,,,,,,,,,,,
作者: chairmanai    时间: 2007-10-29 13:55
随便测试了一下,gzXW 给看看原因吧,系统是XP的。, k3 P* \! I; q& v! Z
# q2 g! G/ }$ Q* z
但是所有操作不可执行,是不是因为我只有一张声卡?
作者: gzXW    时间: 2007-10-29 14:25
原帖由 chairmanai 于 2007-10-29 13:55 发表
; k8 G0 |% \! V) r! H) A, ~! Z随便测试了一下,gzXW 给看看原因吧,系统是XP的。
8 |$ ~4 k7 U$ S4 J2 C/ n, ?3 z+ o, r
6 N, Q: W+ \1 p5 U0 n% t但是所有操作不可执行,是不是因为我只有一张声卡?
$ d5 g6 y! ]  T% n
2 @# [. K' n+ S6 o, r, R5 @
我现在是用英文的系统测试的,中文版的系统窗口标题不一样,可能我多打或少打一个空格造成无法识别。晚上我装个中文系统调试一下。
) u3 M- `9 r) z, S% V) b6 R- N( T/ q% I
现在按你提供的截图中的标题又改了一下程序,你看能不能使用。
& c7 ^. k& S7 a4 r1 K4 F: _: Gv1.0.3
作者: kingcole    时间: 2007-10-29 17:19
:thumbsup: 不得不出来赞一个~~~
作者: garry    时间: 2007-10-29 17:41
可惜我的台式机坏了,好东西想试下都不行。
作者: 22587758    时间: 2007-10-29 17:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: terryddb    时间: 2007-10-29 19:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-10-29 20:15
LS个TH,神卡啊:wub:
) F. Z4 s1 f) l! f* k# o0 |
5 T  l" p: h; A$ J0 i* F
6 j  R% Y  i* ?8 V) ^自己也找了个中文版的XP试了一下,1.03可以正常检测。& Z& W5 I. O7 T
[attach]796909[/attach]
作者: BeatJapan    时间: 2007-10-29 20:34
我试了3次均无效.还有一次死机
作者: gzXW    时间: 2007-10-29 20:47
原帖由 BeatJapan 于 2007-10-29 20:34 发表 7 V* Y, `" K4 s9 r/ Y- T
我试了3次均无效.还有一次死机
; H* ^( }- L- {* U' z; T) W
5 R- g0 X1 }. N' D  g8 `5 O
:( 看来兼容问题多多。
' s1 c6 U  A* m* q! o* Y
2 |- \7 X) R/ |你用的是哪种系统?   不行就用那个vbs脚本进行切换吧:http://we.pcinlife.com/thread-838287-1-1.html
作者: gzXW    时间: 2007-10-29 20:47
btw: 切换声卡后,此前已经运行、正在使用中的程序是要关闭后重开才会生效的。
作者: haniaiai    时间: 2007-10-30 11:04
这东西不错啊。        :wub:
作者: 镇雨    时间: 2007-10-30 13:17
不错不错.这样用起来比较方便.谢谢先.:loveliness:
作者: gzXW    时间: 2007-10-30 13:55
更新了,这个版本的兼容性应该比上一版要好。7 p5 h; c( {1 L3 B- Q6 B- \1 q
使用过程中遇到bug记得上报啊,我会改进。
作者: terryddb    时间: 2007-10-30 15:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: pyrolater    时间: 2007-10-31 07:47
在我的机器上运行良好,sc4630 + xFire1723,Winxp pack2,谢谢啊,谢谢。
1 r2 z! k  b" q, z
2 N6 x1 }0 w6 b# H[ 本帖最后由 pyrolater 于 2007-10-31 07:54 编辑 ]
作者: znai9    时间: 2007-10-31 08:46
用了一下 很好用 谢谢LZ   :lol: :lol:  + n9 ^4 G* F* |& \3 c+ t. ^

0 p4 |8 l' I. J4 W0 v5 e有个建议:设为默认设备后能否给个提示
作者: gzXW    时间: 2007-10-31 09:21
原帖由 memoria 于 2007-10-31 08:10 发表 2 w& ^" l. W  M# G* b: Z
创新声卡和AC97
  _& W" a. T5 z. I6 ]
# ~7 g& r. J6 f" ^创新不能设为快捷方式
5 l% D* @! x/ Z7 D$ ^AC97可以
4 C. k# n+ i  _( |$ y4 h/ B+ v& t
+ k1 D0 J6 Q" a6 W6 l# y0 @不过已经很方便了, 谢谢LZ
6 Z4 J6 s7 F, K1 N

7 G; }" d) m6 T6 D0 b请问创新卡在设备列表列表里显示是什么名称?
' _# D4 M/ _& f1 F  j+ z6 R2 G$ f1 V( w1 |- L$ B9 V1 F. h
可能是有特殊字符,我得特殊处理一下。
作者: gzXW    时间: 2007-10-31 09:28
原帖由 znai9 于 2007-10-31 08:46 发表 7 \% t7 S/ {7 O. D$ ?; y% x4 M
用了一下 很好用 谢谢LZ   :lol: :lol:  / L, Q. |3 L% I7 T3 i; ^) K! \
6 C+ c! |4 j& V8 Q+ `" f( w& \( v
有个建议:设为默认设备后能否给个提示

) T; ^' n" k* J$ I5 g5 c
8 K" [. r6 M1 m& Y% K% h- E% h:lol: 好建议,谢谢,在下一版本加入。
  H1 O8 B0 T8 _( n4 x# T. [4 {+ _& b5 R2 O
* j) @) X2 r# {- v) c( \7 s. j% @, ?! n
& M; n, _! V; u7 xv1.3.0将加入以下特征:
( T% ]8 f$ j, ^% o) D; R- x可以驻留系统通知栏,在设备发生更改时显示消息;
! p" A2 L, B; G+ B  |" S; k7 |1 `: b通知栏图标加入菜单:左击,显示程序主窗口;右击,显示设备列表菜单,可以直接点菜单切换。
作者: garry    时间: 2007-10-31 10:41
哈哈,更新速度很快嘛!5 F) b! f  W* q2 P
功能也越来越使用了!再顶下!
作者: terryddb    时间: 2007-10-31 10:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萧翎翎    时间: 2007-10-31 12:13
不错不错。好东西。等更好的版本。
作者: gzXW    时间: 2007-10-31 15:19
同步备份时出错,把辛苦做的新版本删掉了:wacko: 5 ^( y, f. o' |& a
只好重新改,总感觉少点什么。 人晕了,先不做了。
作者: terryddb    时间: 2007-10-31 15:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-10-31 20:14
感谢大家的肯定:loveliness:
作者: bbqcjf    时间: 2007-10-31 20:58
同上,很好,很强大.
作者: garry    时间: 2007-10-31 22:36
建议斑竹们给加点分啊,
7 h. Q1 L! i& C& ^$ C6 w每更新一次就加一次:lol:
作者: ahdm    时间: 2007-11-1 08:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 09:25
原帖由 ahdm 于 2007-11-1 08:45 发表 ( D  I2 o& f" x* R; o8 }
192+板载
5 t5 `; Y1 {" G& E4 D
' M% L1 Y; x" n+ M* Q4 z+ y0 c; P选择生成快捷方式后、
& l4 b! y/ c( V; K: Y& G6 K; R: Z7 [  j, n; F& Z7 A' I3 d
出现一个什么被修改得提示匡后就cpu占用率100%; s" G' ]' H$ y

5 v# q3 [6 v( C$ \5 ^还关不掉   只能呼出任务管理器强制关掉

3 h1 R; e/ s* S4 M: L6 ?0 s
, H$ T9 |! z" ~2 w  n& ^* x: ^/ p) Q  a3 }+ ]. ^- u& P1 k8 n
:wacko: 还是有问题。         是右下角出现的气泡提示框吗?
  u, R1 V3 E2 Z; N- g4 f* W9 _3 ~. E; g0 w3 e' G4 F* Y
你用的是什么系统? 最好在出错时运行cmd /c tasklist >c:a.txt命令,把c盘根目录下的a.txt内容(进程列表)贴上来我分析一下,谢谢。) p7 K: i6 \$ I5 H& g7 [8 l( P

% q1 O/ W5 x$ G, [5 w[ 本帖最后由 gzXW 于 2007-11-1 13:14 编辑 ]
作者: gzXW    时间: 2007-11-1 13:08
刚才检查代码时发现一个bug,是源码不小心被删掉后重写时忘记改了的。
& @, o, Q+ H3 W1 c算是知道写代码容易、改代码难了。
作者: chairmanai    时间: 2007-11-1 13:12
原帖由 gzXW 于 2007-11-1 01:08 PM 发表 4 q( e' E8 D6 C: l: Z) e
刚才检查代码时发现一个bug,是源码不小心被删掉后重写时忘记改了的。
$ A! v# j7 N8 ~; r  N( Q算是知道写代码容易、改代码难了。

/ k3 s# d9 @( b
: \$ L8 r( q3 f/ \5 gLZ辛苦了:lol:
作者: gzXW    时间: 2007-11-1 13:26
:lol: 方便自己,也方便大家:lol:
作者: yink222    时间: 2007-11-1 13:50
不知道支持不支持ISA声卡
作者: gzXW    时间: 2007-11-1 14:01
与声卡物理接口无关。
7 |3 ]% g4 N/ P3 P5 Z- S5 M, q. u2 e4 v$ w4 [
只要声卡有wave的软件接口,都是支持的。
作者: BeatJapan    时间: 2007-11-1 16:44
我又来啦,新版本能用了,支持LZ!
作者: 见龙卸甲    时间: 2007-11-1 17:03
留名,支持一下
作者: BeatJapan    时间: 2007-11-1 17:16
还是有点问题的,我是XP系统SBLIVE和ALC888双声卡,建了两个快捷方式,试了几次能用,再试了几次后,列表里创新声卡消失,点快捷方式提示"不存在对应设备"
作者: gzXW    时间: 2007-11-1 18:10
原帖由 BeatJapan 于 2007-11-1 17:16 发表 $ q6 }3 x( e, ^
还是有点问题的,我是XP系统SBLIVE和ALC888双声卡,建了两个快捷方式,试了几次能用,再试了几次后,列表里创新声卡消失,点快捷方式提示"不存在对应设备"

) P5 W  r+ t# o# @" z3 ?1 z4 e0 e+ s; y8 z& t9 K
5 F0 b+ l9 @+ D, x$ o
出错时,打开控制面板看里面是否有创新声卡?
作者: fenjinxin    时间: 2007-11-1 18:12
好东西,我正好有两块声卡
作者: gzXW    时间: 2007-11-1 18:26
下一版加点功能,黑真PIG提议加入输入设备的切换。
: B5 H7 V$ T5 U4 d  t5 L; A
6 y2 E6 J( f, u闲点再做。# V7 \. r' r" {/ B) t

, S! A) [2 @0 Q( l; d[attach]798171[/attach]
作者: terryddb    时间: 2007-11-1 19:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 19:39
原帖由 terryddb 于 2007-11-1 19:07 发表
/ p) g* u* Y# t9 P6 u& ^6 c很好很强大了:lol: ' v' n) H% ?2 \& h- N7 s" ]6 a2 P
再提两个建议:* t) L4 H* t. `" B% V5 T
1、可否增加气泡提示显示开关选择,自由选择是否需要任务栏气泡提示。6 x4 V& T( R' j3 Q7 O
2、增加开机自动运行的选择选项,按个人需要选择是否开机就运行该软件。
3 E) P' V# C' V! [再问下LZ贵软件能否支持VISTA? ...
0 Z: s6 I$ ^# I" L0 J
* Q5 P+ B/ {; N3 k6 w8 J7 }
答:
8 z  ]; b! c( k* v$ H0 H& X, n1,可以,下一版加入;2,自己拖个快捷方式到启动目录也挺方便的;3,不支持vista,vista的音频结构 不一样了,目前没有研究。9 v9 b& ]( j) }3 J4 }: F7 g  S
6 V8 o* L. \6 J. g* a
[ 本帖最后由 gzXW 于 2007-11-1 19:40 编辑 ]
作者: terryddb    时间: 2007-11-1 19:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 22:28
应该可以,你自己用键盘试一下,记下击键顺序,对应改.vbs。0 \& ]5 Z1 c  C6 c) E- y
- J$ z* V+ F- w& Z
我现在没有vista,没法试。
作者: gzXW    时间: 2007-11-2 00:45
原帖由 terryddb 于 2007-11-1 19:58 发表 : A6 F- k& J. w/ K* j" D  g
在VISTA下可否采用你刚开始时的VBS的方法,这样的话应该相对简单快捷一点:lol:
9 ~- @# K* D6 l  d5 C. V2 l
$ v0 J1 h9 ^: y. p" K; n

" D9 T+ T; I% y. v8 \; z试了一下,用vbs可以做到。6 D& Y2 W1 d4 O$ @
vista的控制面板只能用方向键,没办法用字母直接选择。
! {* ~2 V: e9 N& W4 \
4 _+ |* |. r8 D4 S) V& ~  N2 b1 |/ R试用的脚本:
$ c- p9 Q2 W. V0 p. D. m0 Wchange.vbs9 N  X0 m4 H+ V2 S2 P: v
  1. '切换默认声卡
    3 O/ w- [7 [' ]- j( M  R
  2. 'Coded by gzXW
    ( B2 i* X4 c% S' i/ C  {
  3. Option Explicit
    2 Z' S6 |; \! U

  4. 1 V; N, }' {+ W( m/ x! W
  5. Dim WshShell
    , x) ?, @3 {0 J4 J
  6. Set WshShell = CreateObject("WScript.Shell" )
    5 F6 s& N# l  S- x

  7. / C( Q; I3 j% I1 v2 g' b+ ~
  8. '运行音频面板
    2 d! `& j, Z9 n4 Q' d5 B) q; x5 _
  9. WshShell.Run("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0" )4 S. A' v7 ^, V% w/ {3 s6 D  p
  10. WScript.Sleep(1500)9 f. v- a1 v7 p  X* c

  11. - \6 L4 Q) i8 U
  12. '模拟按键,第一块声卡按一次Down键。如果有更多声卡,可以多按几次Down键。
    ! [2 Z, `1 q; r+ Y; X. `; L# D5 z
  13. WshShell.SendKeys("{DOWN}" )# c! V: Z8 k* J* O2 o8 g
  14. 'WshShell.SendKeys("{DOWN}" )  w( t" e' ]3 p5 @$ e+ O

  15. 4 r  a& ^# x' ]& r
  16. WshShell.SendKeys("%s" )
    0 y' D: r) u, F& D
  17. WshShell.SendKeys("{ENTER}" )
复制代码

作者: 93blue    时间: 2007-11-2 01:15
楼主真是个好心人:lol: :lol:
作者: 鲁爾    时间: 2007-11-2 01:43
不错,支持下:lol:
作者: gzXW    时间: 2007-11-2 21:59
按建议改好了,用得上的收货:lol:
作者: 动力音熊II    时间: 2007-11-3 09:54
真的搞不懂,为什么还有这个东东。。。。
- c8 K/ z$ `! M# i: ^+ T( o3 v; O( v( Y! @
不是音箱接头插进去,自动切换声卡吗?
& [* C1 R2 m0 k$ c; _我在VISTA下,接螃蟹卡进去,听歌到一半,直接拔下来,差到X-FI上,照样听。。。控制面板里面貌似自己改了默认扬声器~ :blink:
作者: garry    时间: 2007-11-3 22:37
再次顶LZ,
2 i* ?. {9 W. A0 e7 l热心技术人士啊!
作者: artu    时间: 2007-11-4 08:07
不错不错,下来试试
作者: gzXW    时间: 2007-11-6 15:23
小改一下,没啥新东西。
1 h. H; k% M1 C9 o7 _列表框中的当前默认设备改为红色显示;生成快捷方式时可以自由选择保存位置及名称;增加随Windows启动运行选项。
作者: terryddb    时间: 2007-11-6 15:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: flz821028    时间: 2007-11-6 19:30
好DD,下个试试,顺便T上去:lol:
作者: 水影    时间: 2007-11-6 22:55
:loveliness: 弓虽 !! 顶上去先~B)
作者: gzXW    时间: 2007-11-8 13:25
有人反应界面不好看, 所以改了一下,漂亮些:huh:
作者: garry    时间: 2007-11-8 14:31
哈哈!又更新了,下了!
作者: gzXW    时间: 2007-11-8 19:53
貌似没啥要更新的了,:unsure:  ; u8 @, O; d: _& O

- p+ A! D2 M5 R除了那可恶的vista:wacko:
作者: owenozx    时间: 2007-11-8 20:18
好,热心的lz!!!
作者: smty1111    时间: 2007-11-8 20:29
不错,很好用,谢谢。
作者: kween_671    时间: 2007-11-8 23:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-8 23:32
这个是分析对照控制面板做出来的,与系统带的面板没有什么区别。: ?) C# Y/ o4 [
两者的更改是同步的,你可以同时打开这个软件与控制面板,随便更改其中一个,可以看到另外一个会自动收到消息去同步列表。




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4