BOOL MessageBeep MessageBeepは簡単にビープ音を鳴らすことが出来ます。 私もビープ音って何よ!?って思っていたのですが^^; ぶっちゃけ、MessageBoxでダイアログを表示するときと同じ音が流れるみたいです。 音によってデバックするのって何年前の事なんだろう。某C言語古典に書いてあったんだけど…私じゃ考えられない。(VC++ってほんと使いやすいよ。BCBも捨てがたいけど…) int MessageBox メッセージボックスを表示出来ます。 第四引数にMessageBox専用フラグを指定してMessageBox専用戻り値でいろいろ処理をするようです。 PlaySound 音を鳴らす事が出来ます。 #pragma comment(lib,"winmm")をソース中に記述しないと使えない事があります。 PlaySoundが例外を発する! 某、ジョークソフト制作支援DLLを製作するのにPlaySoundを使うとなぜか例外処理 Access Violation 0x0000005が。 うーん、何故だろう思い、PlaySoundの非同期再生についてよくよく調べた。 そうしたら以下のような資料が SND_MEMORY PlaySound() の引数 sound が文字列の形式をとった WAV ファイルのメモリ上のイメージであることを示します。 Note: このモジュールはメモリ上のイメージを非同期に再生する機能をサポートしていません。 従って、このフラグと SND_ASYNC を組み合わせると 例外 RuntimeError が発行されます。 ちなみに私はSND_RESOURCEを入れていたのだが多分、これと同じ働きをするのだと思う。 DWORD saisei=SND_ASYNC | SND_NOSTOP| SND_RESOURCE ;// 再生フラグ DWORD saisei2=SND_SYNC | SND_NOSTOP| SND_RESOURCE ;// 再生フラグ2 私は以上のようなフラグを用意していた。 saiseiの方だとエラーが起きて、saisei2の方だとエラーが起きないのは不自然だなぁ、と思っていた。 しかし、これで解決! PlaySoundの奇癖! * 非同期再生で * 第一引数にサウンドのメモリアドレスを指定していて * そのサウンドを再生中にまた呼び出されると 見事!例外処理!!Access Violation 0x00000005です。えーっと0の数多すぎかな? 失礼アクセスってどういう意味?(御前の訳仕方が間違っている) CreateDirectory ディレクトリを作成します。 結構使えると思うのですが、なにせ変な構造体を引数にぶち込みますからね・・・ 結構使用をためらっていた人いませんか? ということで、サンプルです。葉迩倭氏のLunaSystem.cppをちょっと引っこ抜いて改造してみました。 (このソースは転載、改造OKということで掲載しました。) RemoveDirectory ディレクトリを削除します。 |
WinMainの第一引数が欲しい!(HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE); でWinMainの第一引数をもらうことが出来ます。ちなみにGetWindowLongの第一引数はウインドウのハンドルです。 コマンドラインの文字列がほし〜LPTSTR GetCommandLine(VOID) でWinMainの第三引数をもらうことが出来ます。しかし、WinMainの第三引数では自分のパスを得ることができませんが、 こちらのGetCommandLineだと自分の実行パスを得ることができます。 例: GetCommandLine()で得るもの C:\mysoft.exe その他ユーザーが指定したいろいろなコマンド... WinMainの第三引数から得るもの その他ユーザーが指定したいろいろなコマンド...こんな感じです。 |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||