[C#] 프로그래밍 팁

2026. 6. 12. 21:23·Programming/C#.NET

윈도우 사운드 볼륨 조절

프로그램에서 윈도우의 사운드 볼륨값을 지정하는 방법을 소개합니다.
알람을 발생하면서 소리를 내야 하는데 자꾸 볼륨이 줄어들어서
소리가 작게 들려서 강제로 볼륨을 지정할때 사용합니다.

using System.Media; // 맨위에 추가

[DllImport("winmm.dll")]
public static extern int waveOutSetVolume(IntPtr hwo, uint dwVolume);

public static void SetSoundVolume(int volume)
{
	try
	{
		int newVolume = ((ushort.MaxValue / 10) * volume);
		uint newVolumeAllChannels = (((uint)newVolume & 0x0000ffff) | ((uint)newVolume << 16));
        waveOutSetVolume(IntPtr.Zero, newVolumeAllChannels);
	}
	catch (Exception) { }
}

 

사용법

SetSoundVolume(100); // 최고
SetSoundVolume(0); // 최소

 

중복실행 방지하기

C# 에서 프로그램 중복 실행 방지하기
Program.cs 에 다음과 같이 코딩합니다.
using System.Threading; 추가해주시구요. Main 함수에 이렇게 추가해주시면

bool CreateNew;
Mutex dup = new Mutex(true, "프로그램명", out CreateNew);

if (CreateNew)
{
  // 프로그램 실행부분
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new Program());
  dup.ReleaseMutex(); // 이부분이 중요합니다.
}
else
{
  MessageBox.Show("이미 프로그램이 실행중입니다");
}

 

다른 프로그램으로 인식시키려면 당연히 “프로그램명” 부분을 변경해야 하는건
안가르쳐 드려도 아시겠죠!

'Programming > C#.NET' 카테고리의 다른 글

[C#] DES 암호화/복호화  (0) 2026.06.30
[C#] log4net 사용법  (0) 2026.06.16
[C#] ini 파일 다루기  (0) 2026.06.10
[C#] 엑셀 시트명 읽어 오기 / Excel 파일내용 읽어오기  (0) 2026.06.04
[C#] 오라클 Blob 필드 쓰고 / 읽기  (0) 2026.06.02
'Programming/C#.NET' 카테고리의 다른 글
  • [C#] DES 암호화/복호화
  • [C#] log4net 사용법
  • [C#] ini 파일 다루기
  • [C#] 엑셀 시트명 읽어 오기 / Excel 파일내용 읽어오기
레이조(RayCho)
레이조(RayCho)
개발자 레이조(RayCho)의 블로그입니다. 똑똑하게 배우고 기록하는 공간
  • 레이조(RayCho)
    레이(Ray)의 개발이야기
    레이조(RayCho)
  • 전체
    오늘
    어제
    • 분류 전체보기 (73) N
      • Programming (73) N
        • Python (5)
        • Flutter (4)
        • Delphi (25)
        • Lazarus (1)
        • C#.NET (13) N
        • ASP.NET (5)
        • Database (6)
        • Game Dev (5)
        • Web (6)
        • ETC (3)
  • 블로그 메뉴

    • 홈
    • Introduce
    • 태그
    • 방명록
  • 링크

    • Naver Blog
    • Diary Blog
  • 공지사항

  • 인기 글

  • 태그

    C#
    C++
    iis
    개발환경
    csharp
    mssql
    소스코드
    POST
    프로그래밍
    ASP.NET
    델파이
    웹프로그래밍
    Python
    objectpascal
    PSP
    Web
    기초
    delphi
    VCL
    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
레이조(RayCho)
[C#] 프로그래밍 팁
상단으로

티스토리툴바