באג | סקריפט VBS מנגן צליל ברירת מחדל במקום את הקובץ שנבחר
-
אני מריץ קוד VBS שמשתמש ב-PowerShell כדי לנגן קובץ .wav ספציפי מהנתיב C:\Windows\Media.
הבעיה היא שלמרות שהגדרתי נתיב מדויק, המערכת מתעלמת ממנו ומשמיעה רק את צליל ה-Default של ווינדוס. נראה שהאובייקט Media.SoundPlayer לא טוען את הקובץ כראוי לפני הניגון.
מצורף הקוד (עם כותרת וטקסט גנריים). אשמח לעצה איך לגרום לו לנגן דווקא את הקובץ שבנתיב ולא את ברירת המחדל.
Set shell = CreateObject("WScript.Shell") ' נתיב לקובץ הצליל soundPath = "C:\Windows\Media\Windows Notify System Generic.wav" ' פקודה משופרת לניגון הצליל הספציפי shell.Run "powershell -c ""$player = New-Object Media.SoundPlayer '" & soundPath & "'; $player.Load(); $player.PlaySync()""", 0, False ' כאן כותרת msgTitle = "כאן כותרת" ' כאן גוף ההודעה msgBody = "כאן גוף ההודעה" ' חלון ל-6 שניות shell.Popup msgBody, 8, msgTitle, 64 + 4096 -
אני מריץ קוד VBS שמשתמש ב-PowerShell כדי לנגן קובץ .wav ספציפי מהנתיב C:\Windows\Media.
הבעיה היא שלמרות שהגדרתי נתיב מדויק, המערכת מתעלמת ממנו ומשמיעה רק את צליל ה-Default של ווינדוס. נראה שהאובייקט Media.SoundPlayer לא טוען את הקובץ כראוי לפני הניגון.
מצורף הקוד (עם כותרת וטקסט גנריים). אשמח לעצה איך לגרום לו לנגן דווקא את הקובץ שבנתיב ולא את ברירת המחדל.
Set shell = CreateObject("WScript.Shell") ' נתיב לקובץ הצליל soundPath = "C:\Windows\Media\Windows Notify System Generic.wav" ' פקודה משופרת לניגון הצליל הספציפי shell.Run "powershell -c ""$player = New-Object Media.SoundPlayer '" & soundPath & "'; $player.Load(); $player.PlaySync()""", 0, False ' כאן כותרת msgTitle = "כאן כותרת" ' כאן גוף ההודעה msgBody = "כאן גוף ההודעה" ' חלון ל-6 שניות shell.Popup msgBody, 8, msgTitle, 64 + 4096 -
אני מריץ קוד VBS שמשתמש ב-PowerShell כדי לנגן קובץ .wav ספציפי מהנתיב C:\Windows\Media.
הבעיה היא שלמרות שהגדרתי נתיב מדויק, המערכת מתעלמת ממנו ומשמיעה רק את צליל ה-Default של ווינדוס. נראה שהאובייקט Media.SoundPlayer לא טוען את הקובץ כראוי לפני הניגון.
מצורף הקוד (עם כותרת וטקסט גנריים). אשמח לעצה איך לגרום לו לנגן דווקא את הקובץ שבנתיב ולא את ברירת המחדל.
Set shell = CreateObject("WScript.Shell") ' נתיב לקובץ הצליל soundPath = "C:\Windows\Media\Windows Notify System Generic.wav" ' פקודה משופרת לניגון הצליל הספציפי shell.Run "powershell -c ""$player = New-Object Media.SoundPlayer '" & soundPath & "'; $player.Load(); $player.PlaySync()""", 0, False ' כאן כותרת msgTitle = "כאן כותרת" ' כאן גוף ההודעה msgBody = "כאן גוף ההודעה" ' חלון ל-6 שניות shell.Popup msgBody, 8, msgTitle, 64 + 4096@מנשה-2
תוריד את ה64 ותכתוב 0 במקום.
ה64 גורם להשמעת צליל מערכת בווינדוס -
אני מריץ קוד VBS שמשתמש ב-PowerShell כדי לנגן קובץ .wav ספציפי מהנתיב C:\Windows\Media.
הבעיה היא שלמרות שהגדרתי נתיב מדויק, המערכת מתעלמת ממנו ומשמיעה רק את צליל ה-Default של ווינדוס. נראה שהאובייקט Media.SoundPlayer לא טוען את הקובץ כראוי לפני הניגון.
מצורף הקוד (עם כותרת וטקסט גנריים). אשמח לעצה איך לגרום לו לנגן דווקא את הקובץ שבנתיב ולא את ברירת המחדל.
Set shell = CreateObject("WScript.Shell") ' נתיב לקובץ הצליל soundPath = "C:\Windows\Media\Windows Notify System Generic.wav" ' פקודה משופרת לניגון הצליל הספציפי shell.Run "powershell -c ""$player = New-Object Media.SoundPlayer '" & soundPath & "'; $player.Load(); $player.PlaySync()""", 0, False ' כאן כותרת msgTitle = "כאן כותרת" ' כאן גוף ההודעה msgBody = "כאן גוף ההודעה" ' חלון ל-6 שניות shell.Popup msgBody, 8, msgTitle, 64 + 4096