
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Windowsアプリ】ファイルのド...
-
ボタンの色(WINAPI)
-
WM_INITDIALOGのフック
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
2÷3などの余りについて
-
10個出力で改行したいのですが...
-
信頼区間の1.96や1.65ってどこ...
-
有効数字について 以前質問をし...
-
main.c:7:43: warning: implici...
-
数字以外が入力されたらエラー...
-
main の引数には const 付けた方が
-
EXE1→DLL→EXE2数値を受け渡す方法
-
複数ファイルの同時読み込みの...
-
C言語 関数プロトタイプ宣言の...
-
マイナスからプラスへ転じた時...
-
ある商品のロス率を5%見込み、...
-
vc++の使い方について
-
fgetsなどのときのstdinのバッ...
-
正負を反転させて出力するプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エディットボックスの背景の色...
-
オーバーレイみたいな処理がしたい
-
Win32APIでウィンドウを中央に...
-
プログラミングでエラーが出ま...
-
エラー Run-Time Check Failur...
-
CTreeCtrlのCreate関数でエラー...
-
ダイアログプログラムでEnterキ...
-
ボタンの色(WINAPI)
-
C言語win32api、エディットボッ...
-
C#のswitch文を簡略化したいの...
-
MessageBoxについて
-
ゲームとかの解像度変更&全画...
-
エディットコントロール入力時...
-
Win32APIにて、ウィンドウ全体...
-
キャレットの現在位置の表示 (W...
-
return文がない場合の戻り値は...
-
コンソールアプリケーションの...
-
ウィンドウ非表示に時に表示し...
-
LoadImageを使用し、タイトルバ...
-
ウィンドウサイズを変更しても...
おすすめ情報