No.2ベストアンサー
- 回答日時:
こんばんは。
御礼頂き感謝いたします。もしかしたらVISTAが理由なのかもしれません・・・。
当方の方でも2番目のソースを利用して実験してみましたが、動作確認出来ています。
ただし、win2000/visual studio 6.0と言う環境です。
以下のコードで実験しました。一応記載しておきます。マウスの左ボタンを押すたび、ボリュームが15又は0になります。
ウィンドウズのボリュームコントロールのアプリを立ち上げて確認できます(クリックされるたび音量スライダーが上下に動く)。
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static bool s_b = false;
switch(uMsg)
{
case WM_CREATE:return TRUE;
case WM_CLOSE:::DestroyWindow(hWnd);return FALSE;
case WM_DESTROY:::PostQuitMessage(0);return FALSE;
case WM_LBUTTONDOWN:
{
s_b ^= 0x1;
//左ボタンを押すたびにボリュームが15又は0に切り替わる
const int volume = s_b ? 15 : 0;
//新規ボリューム値を設定する
::SetMasterVolume(volume);
return FALSE;
}
default:break;
}
return ::DefWindowProc(hWnd, uMsg, wParam, lParam);
}
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
//ボリュームコントロールの為の初期化をする
::InitMasterVolumeControl();
//以下windowsプログラムのお決まりパターン
return msg.wParam;
}
machongolaさん、ありがとうございます。
↑のコードを試してみましたが、やはり無理なようです。
vistaが原因なんでしょうか…。
なので多少荒技ですが以下の方法で操作することにしました。
ためになるアドバイスをありがとうございました。
case WM_LBUTTONDOWN:
vol *= -1; //volが1なら音量100%、-1なら10%
if(vol == 1){
for(i=0; i<適当な値; i++){
keybd_event(0xAE, 0, 0, 0);
keybd_event(0xAE, 0, KEYEVENTF_KEYUP, 0);
}
}
else{
for(i=0; i<適当な値; i++){
keybd_event(0xAF, 0, 0, 0);
keybd_event(0xAF, 0, KEYEVENTF_KEYUP, 0);
}
}
break;
No.1
- 回答日時:
こんにちは。
情報や手本であるならば、幾らでも散見します。
少し試してみましたが、取り扱いは極めて面倒な物です。
http://www.terra.dti.ne.jp/~vivas/delphi/mixerap …
http://hp.vector.co.jp/authors/VA016117/mixer1.h …
http://doglover.jp/index.php?%B2%BB%CE%CC%C4%B4% …
参考URL:http://www.google.co.jp/search?hl=ja&lr=&sa=X&oi …
お返事ありがとうございます。
2番目のサイトが比較的分かりやすそうだったので、試してみました。
プログラム自体は正常に処理できてるみたいなんですが、
音量に全く変化がありませんでした。
どうしてでしょうか。。。
書き忘れましたが環境はVista HomePremiumでコンパイラは
VC++ 2005 Expressです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン PCで音量調節ボタンを押しても「現在の音量がいくつか」が表示されません。 2 2023/03/18 12:10
- デスクトップパソコン USBボリュームコントローラーは音量調節は0~100まである場合1づつ調節できるのでしょうか。 1 2023/05/06 14:26
- その他(スマートフォン・携帯電話・VR) Bluetoothイヤホンとスマホの音量を連動させたい 1 2023/03/25 15:55
- デスクトップパソコン MACのF1からF12までのキーをNECキーボードで操作できるようにする方法を教えてください。 2 2023/04/01 21:45
- SoftBank(ソフトバンク) Redmi note10の携帯の音量調節について! LINEは、メディアのとこで音量調節するんでしょ 1 2023/04/10 10:28
- イヤホン・ヘッドホン・補聴器 ワイヤレスイヤホンを使っている方々に質問です! ・ボリューム調節機能があるのを使っている方へ 音楽( 1 2023/02/20 21:23
- イヤホン・ヘッドホン・補聴器 ノイズ除去後付け 2 2022/11/16 13:59
- 楽器・演奏 電子ピアノの音が鳴る時と鳴らない時と最大音量で鳴らない時がある。なぜ? 電子ピアノY-115を持って 2 2022/09/04 06:01
- Windows 8 ツールバーのここに音量調節のやつが出てこない 2 2022/11/04 21:24
- その他(パソコン・周辺機器) PCの再生デバイス切り替え、ミュート、音量調整可能なデバイス機器があれば教えて下さい 1 2023/02/01 13:10
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャレットの現在位置の表示 (W...
-
C#のswitch文を簡略化したいの...
-
MoveToExとLineToについて
-
C言語win32api、エディットボッ...
-
トラックのループの仕方
-
エラー Run-Time Check Failur...
-
Win32APIにて、ウィンドウ全体...
-
2÷3などの余りについて
-
マイナスからプラスへ転じた時...
-
Enterキーを押されたら次の処理...
-
信頼区間の1.96や1.65ってどこ...
-
C言語での引数の省略方法
-
c languageで 簡単な質問があ...
-
【C++】関数ポインタの使い方
-
プログラムでの数字につく”f”の...
-
正負を反転させて出力するプロ...
-
「Aに対するBの割合」と「Aに対...
-
ループを途中で抜けたいのですが。
-
c言語の配列を使ってサイコロを...
-
strcmp
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
音量調節
-
return文がない場合の戻り値は...
-
C#のswitch文を簡略化したいの...
-
ゲームとかの解像度変更&全画...
-
エラー Run-Time Check Failur...
-
コンソールアプリケーションの...
-
キャレットの現在位置の表示 (W...
-
エディットボックスの背景の色...
-
COMPORTマルチスレッドで例外発生
-
ツリーコントロールの開閉アイ...
-
C言語win32api、エディットボッ...
-
Win32APIにて、ウィンドウ全体...
-
Win32APIでウィンドウを中央に...
-
エディットコントロール入力時...
-
ダイアログプログラムでEnterキ...
-
不思議な現象が起こるプログラ...
-
Win32のファイルダイアログのサ...
-
C言語のswitch case文で、scanf...
-
WM_CREATE について
-
ボタンのアイコン表示
おすすめ情報