באג | סקריפט 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
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות