タグ

VC++に関するzakixのブックマーク (7)

  • ファイルマッピングによるファイル操作

    ファイルのデータを操作する時には、まずバッファを確保してファイルを読み込み、データを編集。そして、編集したデータをまたファイルに書き戻す、という操作が必要でした。しかし、ファイルマッピングを使うと、ファイルのデータをメモリのデータと同じようにポインタで参照・変更できるようになります。これによって、いちいちバッファを確保・開放しないでも良くなるわけで、ちょっとしたデータを扱う時などには便利でしょう。 今回は、ビットマップファイルをファイルマッピングして編集してみました。 ファイルマッピングの操作 ファイルマッピングを使うには、まずマップするファイルを用意し、そのファイルのハンドルからCreateFileMappingでファイルマッピングオブジェクトを作成します。 HANDLE CreateFileMapping( HANDLE hFile, LPSECURITY_ATTRIBUTES lpF

    zakix
    zakix 2006/09/28
    ポインタ感覚でファイル上のデータにアクセス。いちいちバッファの確保・開放の必要が無いので便利な時も。
  • Geekなぺーじ : DirectShowプログラミング [VC++]

    ここでは、DirectShowを使ってプログラムを書く方法を説明します。 DirectShowは、Windows上で映像(動画)や音声を扱うためのフレームワークです。 DirectShowを使うと、様々なフォーマットの映像や音声を簡単にキャプチャ/再生/保存できます。 このページは初心者向けDirectShow入門講座を目指しています。 DirectShowはCOM(Component Object Model)をベースに作られていますが、ここではCOMを知らない人でもDirectShowプログラミングをできるような説明を目指したいと考えています。 DirectXの準備 注意!DirectShowは2005年4月にDirectXからPlatformSDKへ移っています。 DirectShowを使いたい場合にはDirectXではなく、PlatformSDKをインストールしましょう。 Plat

    zakix
    zakix 2006/09/28
    DirectShowプログラミングはここから始めるのが分かりやすいですね。
  • ユニコードからMBCS(ANSI)への変換(dinop.com)

    解説 ・WideCharToMultiByteを使って変換するのは面倒だからCAtlStringなどを利用する。 面倒な変換例 普通ユニコードからMBCSに変換するにはWideCharToMultiByteを利用する。 しかしコードを見て分かるように非常に面倒。 void Test(void) { int nLen; char* pszMBCS; WCHAR pszUnicode[50]; //変換したいUnicode文字列 wcsncpy(pszUnicode,L"ABCあいう",50); nLen = ::WideCharToMultiByte(CP_THREAD_ACP, 0, pszUnicode, -1, NULL, 0, NULL, NULL ); pszMBCS = new char[nLen]; ::WideCharToMultiByte(CP_THREAD_ACP, 0,

    zakix
    zakix 2006/09/28
    ユニコード→MBCS変換がちょっと楽に。
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    zakix
    zakix 2006/09/28
    タスクバーに表示させたくない時の参考に。
  • ミキサー その1(音量の調節)

    はじめに 今回を含めて3回で、ミキサーデバイスを使った音量とミュートの設定方法を解説します。今回は音量の調節で、次回はミュート、最後は音量調節の多チャンネル対応化です。最初に白状しておきますが、3回に分けたのは時間稼ぎです。当は、1回で十分終わる量です。 今回のサンプルファイルです。2000/07/23 バグ修正 音量やミュートを設定しようと思ってミキサーデバイスを調べた人は分かると思いますが、ヘルプファイルをみてもなにがなんだか分かりません。しかし音量とミュートだけなら、理解はできなくても使うことができれば十分です。なぜこんな事を言うかというと、私も全然理解していないからです。だから、まともな解説は出来ません。でもいいんです、使えるから... ミキサーデバイスを使えるようにする とりあえず、ミキサーデバイスをオープンします。オープンしたハンドルは変数g_hMixerに保存しておきます。

    zakix
    zakix 2006/09/28
    音量調整したい時の参考に。
  • 社本@元ネオニート Blog - 社本@元ネオニート Blog

    プロフィール 働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日人は私だけ。なんとか。。やっていけてるようです。 目次 ホーム 連絡をする RSS Blog 利用状況 投稿数 - 546 記事数 - 0 コメント - 1700 トラックバック - 記事分類 過去の記事 2013年03月 (1) 2012年10月 (1) 2012年09月 (4) 2012年01月 (2) 2011年12月 (1) 2011年11月 (1) 2011年10月 (5) 2011年07月 (5) 2011年06月 (4) 2011年05月 (4) 2011年04月 (6) 2011年02月 (4) 2011年01月 (3) 2010年11月 (3) 2010年03月 (1) 2010年01月 (4) 2009年1

    zakix
    zakix 2006/09/28
    Bluetoothデバイスを扱う時の参考に。
  • タイトルバー非表示

    タイトルバー非表示 ウィンドウからタイトルバーを外す. SetWindowLong(hwnd, GWL_STYLE, WS_POPUP | WS_BORDER); こうすることによりタイトルバーは消える. しかし,WM_PAINT に反応しないタイトルバーの残骸が残ってしまう. これは非クライアント領域が再描画していないからである. 以下のようにすることにより非クライアント領域も再描画が可能である. GetWindowRect(hwnd, &rc); xNewAmtOfBorder = GetSystemMetrics(SM_CXFRAME) - GetSystemMetrics(SM_CXBORDER); yNewAmtOfBorder = GetSystemMetrics(SM_CYFRAME) - GetSystemMetrics(SM_CYBORDER); pt.x = rc.le

    zakix
    zakix 2006/09/28
    タイトルバーを消したい時。
  • 1