Visual C++ フォーラムVisual C++ や言語に依存した話題© 2009 Microsoft Corporation. All rights reserved.Wed, 10 Feb 2010 11:11:56 Zb61c25cc-5568-454c-a6f1-8dfb4bf2a4b0http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/06117a99-a0b6-49ff-9f81-8765ee3b3421http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/06117a99-a0b6-49ff-9f81-8765ee3b3421鏑木肆星http://social.msdn.microsoft.com/Profile/ja-JP/?user=%u93d1%u6728%u8086%u661fマルチメディアタイマーによるスレッドの呼び出しと他操作による影響いつもお世話になっております、鏑木と申します。<br/> 現在Visual Studio 2005にてVC++のプログラムを作成しており、ここ最近ずっと悩んでいる箇所が<br/> 参考となるご意見を頂ければと思い、こちらへ久しぶりに投稿させていただきました。<br/> <br/> 質問させて頂きたい内容は<br/> 現在、ダイアログベースのプログラムでマルチメディアタイマーを使用して、20msec毎にダイアログ上のピクチャーコントロール<br/> へ波形を描画するプログラムを作成しております。描画する波形のデータはおなじマルチメディアタイマーにおいて、500msec(20msec&times;25)<br/> 経過時にシリアル受信スレッドを呼び出し、受信スレッド内にてシリアル受信操作を行いデータを受信しています。<br/> <br/> そのまま何も操作しなければ順調にデータの受信、波形の描画は滞りなく進むのですが、ダイアログ上のボタンを選択することで別のダイアログを<br/> 表示させたり、その表示させたダイアログを閉じたりした際に、アプリケーションに負荷がかかる為かマルチメディアタイマーが20msec毎の呼び出し<br/> ではなくなり(10msec以下になったりした場合もあった)、そのせいなのか500msec毎のシリアル受信スレッドにおいて、正常にデータが受信できなく<br/> なる、という症状がでております。<br/> なんとか他の操作をした際に、マルチメディアタイマーへの影響がなくならないか考えてみたのですがなかなかないいアイディアが思い浮かびません。<br/> <br/> そこで対応策として、シリアル受信時にデータが受信できないのは500msec毎にシリアル受信スレッドを呼び出し、そのスレッド内でシリアル受信操作<br/> をしているためではないかと考え、データ受信処理を500msec毎にスレッドを呼び出すのではなく、直接シリアル受信処理を呼び出すようにすると、<br/> その他の操作をしても、正常にデータを受信することはできました。しかし、シリアル受信操作内で、データが全て受信されるまでの待機操作などにより(Sleepの呼び出し)<br/> ダイアログ上のピクチャーコントロールへの波形の描画がスムーズに描画することが出来なくなり、コマ送りのような描画となってしまいました。<br/> そこで、描画の処理も別スレッドにしようかと思ったのですが、そうするとマルチメディアタイマー内にて20msec毎にスレッドを呼び出すことになるので、これでは初めの<br/> シリアル受信スレッドを500msec毎に呼び出すのと変わらないところか、もっとよくないだろうと思い断念しました。<br/> <br/> 以上がこれまでの経過なのですが、文章を見ただけではかなり分かりづらいと思いますので、不明な点がありましたらなんなりとおっしゃって頂ければと思います。<br/> 参考となるご意見がありましたら、どうぞよろしくお願い致します。<br/> 開発環境がCE6.0という特殊な環境の為か、PC上よりもいろいろと動作に制約があることも原因の1つを担っているのかなとも思っております。<br/> <br/> 開発環境はWindows CE 6.0です。Tue, 09 Feb 2010 03:22:04 Z2010-02-10T11:11:56Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/70a34199-e9d2-4eaf-98e2-9e873436ce91http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/70a34199-e9d2-4eaf-98e2-9e873436ce91coSepihttp://social.msdn.microsoft.com/Profile/ja-JP/?user=coSepiSendInputでALT+Nをすると、終了後にALTが押されっぱなしになる。VC++2008(MFC9)で、他のアプリケーションをコントロールするコードを書いています。<br/> 対象のアプリケーションは、XP上のOffice(2003/2007)で、SaveAsダイアログに、ALT+Nを送信して、<br/> フォーカスを強制的にファイル名入力欄へ動かそうとしていますが、<br/> SendInputをした後、ALTキーが押されっぱなしになったような動きになってしまいます。<br/> キーボード操作で右ALTキーを押してはなすとなおります。<br/> キーボード操作なしに正常に動作させるにはどうすればいいのでしょうか?<br/> INPUT構造体の組み立てに誤りがあるのでしょうか?<br/> <br/> ------<br/> &nbsp;&nbsp;&nbsp; ::SetForegroundWindow(targetHWnd);<br/> &nbsp;&nbsp;&nbsp; ::SetActiveWindow(targetHWnd);<br/> <br/> &nbsp;&nbsp;&nbsp; INPUT rginp[6];<br/> &nbsp;&nbsp;&nbsp; rginp[0].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[0].ki.wVk = VK_LMENU;<br/> &nbsp;&nbsp;&nbsp; rginp[0].ki.wScan = MapVirtualKeyEx(VK_LMENU,0,GetKeyboardLayout(0));<br/> &nbsp;&nbsp;&nbsp; rginp[0].ki.dwFlags = KEYEVENTF_EXTENDEDKEY;<br/> &nbsp;&nbsp;&nbsp; rginp[1].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[1].ki.wVk = 'N';<br/> &nbsp;&nbsp;&nbsp; rginp[1].ki.wScan = MapVirtualKey('N',0);<br/> &nbsp;&nbsp;&nbsp; rginp[1].ki.dwFlags = KEYEVENTF_EXTENDEDKEY;<br/> &nbsp;&nbsp;&nbsp; rginp[2].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[2].ki.wVk = 'N';<br/> &nbsp;&nbsp;&nbsp; rginp[2].ki.wScan = MapVirtualKey('N',0);<br/> &nbsp;&nbsp;&nbsp; rginp[2].ki.dwFlags = KEYEVENTF_KEYUP;<br/> &nbsp;&nbsp;&nbsp; rginp[3].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[3].ki.wVk = VK_LMENU;<br/> &nbsp;&nbsp;&nbsp; rginp[3].ki.wScan = MapVirtualKeyEx(VK_LMENU,0,GetKeyboardLayout(0));<br/> &nbsp;&nbsp;&nbsp; rginp[3].ki.dwFlags = KEYEVENTF_KEYUP;<br/> &nbsp;&nbsp;&nbsp; // ドロップダウンが下がるのでESC<br/> &nbsp;&nbsp;&nbsp; rginp[4].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[4].ki.wVk = VK_ESCAPE;<br/> &nbsp;&nbsp;&nbsp; rginp[4].ki.wScan = MapVirtualKeyEx(VK_ESCAPE, 0, GetKeyboardLayout(0));<br/> &nbsp;&nbsp;&nbsp; rginp[4].ki.dwFlags = KEYEVENTF_EXTENDEDKEY;<br/> &nbsp;&nbsp;&nbsp; rginp[5].type = INPUT_KEYBOARD;<br/> &nbsp;&nbsp;&nbsp; rginp[5].ki.wVk = VK_ESCAPE;<br/> &nbsp;&nbsp;&nbsp; rginp[5].ki.wScan = MapVirtualKeyEx(VK_ESCAPE, 0, GetKeyboardLayout(0));<br/> &nbsp;&nbsp;&nbsp; rginp[5].ki.dwFlags = KEYEVENTF_KEYUP;<br/> &nbsp;&nbsp;&nbsp; UINT result = ::SendInput(6, rginp, sizeof(INPUT));<br/>Wed, 10 Feb 2010 09:25:51 Z2010-02-10T09:25:52Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7cdda32a-c988-41ec-9de8-d6870c99deb9http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7cdda32a-c988-41ec-9de8-d6870c99deb9TDM850 4TXhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=TDM850%204TXUSBドライブのVID/PIDを調べる方法についてお世話になります。<br/><br/>環境は、VS2005 C++で Win32アプリケーションで行っています。<br/><br/>USBマスストレージを接続したドライブに対して、VendorIDと ProductIDを取得したいのですが、<br/>どのようにすれば良いでしょうか?<br/><br/>行いたいのは、WM_DEVICECHANGE でデバイスの接続を感知し、<br/>接続されたドライブ(E: や F:)に対して、VID/PIDを取得したいのです。<br/>漠然とした質問で済みません。<br/><br/>DDKの USBViewを見てみましたが、起動時にデバイス全てを列挙しており、<br/>表示されている USB情報にはドライブ情報がありませんでした。Thu, 04 Feb 2010 09:46:48 Z2010-02-10T08:28:53Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/55d94ece-4c77-4974-8696-9b7b4204184chttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/55d94ece-4c77-4974-8696-9b7b4204184civersionjphttp://social.msdn.microsoft.com/Profile/ja-JP/?user=iversionjpWindows XP SP3 で ExitWindowsEx が失敗する<font size=2><span style="font-family:MS Pゴシック">いつもお世話になっております。<br><br>Windows XP SP3 にしてから ExitWindowsEx 関数が失敗する現象が出ました。<br><br>環境:Windows XP SP3、ワークグループ環境<br>準備:外部からコマンドを受け付けて処理をおこなう(自作)サービスが登録されている。<br><br>Windows XP SP3 でコンピュータに一度ログオンしてからログオフした状態にします。<br>この状態で、Ctrl+Alt+Deleteを押下して、アカウントを入力する画面にします。<br><br>上記状態のコンピュータに ExitWindowsEx を使用してシャットダウンするように命令を発行します。<br>※ 命令を受けて実行するのは、準備に記述した自作サービス。<br>引数は、ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0)です。<br>※ 引数を変えて試しましたが、引数には影響しないようです。<br><br>XP SP3 以外の XP や他のOSではシャットダウンがおこなわれるのですが、<br>XP SP3 では、失敗します。GetLastError は、ERROR_ALREADY_EXISTS です。<br><br>ワークグループではなく、ドメイン環境の場合は成功します。<br>コンピュータを起動してから、一度もログオンしなければ成功します。<br><br>この現象についてなにかわかるかたいらっしゃいますでしょうか?<br><br>ちなみに XP SP3 では、別件の不具合を修正するため、<br>ExitWindowsEx と winlogon.exe に修正がはいっているようです。<br><br><br>よろしくお願いします。<br><br><br></span></font>Thu, 24 Jul 2008 10:41:37 Z2010-02-09T14:12:40Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/89e4b45c-96f1-4872-9e76-a4d6f0c168b2http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/89e4b45c-96f1-4872-9e76-a4d6f0c168b2aozawahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=aozawaVista SP2インストール直後に、MFC42.DLLでAPPCRASHエラー<div>Windows UpdateでVista SP2をインストールした直後の2台のPC(PC1, PC2)で、Visual C++ 6.0で開発したアプリケーション2種(アプリA,アプリF)を起動したところ、以下のようなエラーで終了しました。</div> <div><br/></div> <div>[アプリA] (PC1, PC2で発生)</div> <div>問題の署名:</div> <div>&nbsp;&nbsp;問題イベント名:<span style="white-space:pre"> </span>APPCRASH</div> <div>&nbsp;&nbsp;アプリケーション名:<span style="white-space:pre"> </span>Axxxxxxxx.exe</div> <div>&nbsp;&nbsp;アプリケーションのバージョン:<span style="white-space:pre"> </span>2.11.0.0</div> <div>&nbsp;&nbsp;アプリケーションのタイムスタンプ:<span style="white-space:pre"> </span>4a8502b2</div> <div>&nbsp;&nbsp;障害モジュールの名前:<span style="white-space:pre"> </span>MFC42.DLL</div> <div>&nbsp;&nbsp;障害モジュールのバージョン:<span style="white-space:pre"> </span>6.6.8063.0</div> <div>&nbsp;&nbsp;障害モジュールのタイムスタンプ:<span style="white-space:pre"> </span>49e03764</div> <div>&nbsp;&nbsp;例外コード:<span style="white-space:pre"> </span>c0000005</div> <div>&nbsp;&nbsp;例外オフセット:<span style="white-space:pre"> </span>0003043e</div> <div>&nbsp;&nbsp;OS バージョン:<span style="white-space:pre"> </span>6.0.6002.2.2.0.256.6</div> <div>&nbsp;&nbsp;ロケール ID:<span style="white-space:pre"> </span>1041</div> <div>&nbsp;&nbsp;追加情報 1:<span style="white-space:pre"> </span>c123</div> <div>&nbsp;&nbsp;追加情報 2:<span style="white-space:pre"> </span>e263d617eb94a3facd748e2047acb9c1</div> <div>&nbsp;&nbsp;追加情報 3:<span style="white-space:pre"> </span>d860</div> <div>&nbsp;&nbsp;追加情報 4:<span style="white-space:pre"> </span>f1d78398b075f97f026b16eace2e398a</div> <div><br/></div> <div>[アプリF] (PC1で発生)</div> <div>問題の署名:</div> <div>&nbsp;&nbsp;問題イベント名:<span style="white-space:pre"> </span>APPCRASH</div> <div>&nbsp;&nbsp;アプリケーション名:<span style="white-space:pre"> </span>fxxxx.exe</div> <div>&nbsp;&nbsp;アプリケーションのバージョン:<span style="white-space:pre"> </span>5.2.0.0</div> <div>&nbsp;&nbsp;アプリケーションのタイムスタンプ:<span style="white-space:pre"> </span>47d9cb42</div> <div>&nbsp;&nbsp;障害モジュールの名前:<span style="white-space:pre"> </span>MFC42.DLL</div> <div>&nbsp;&nbsp;障害モジュールのバージョン:<span style="white-space:pre"> </span>6.6.8063.0</div> <div>&nbsp;&nbsp;障害モジュールのタイムスタンプ:<span style="white-space:pre"> </span>49e03764</div> <div>&nbsp;&nbsp;例外コード:<span style="white-space:pre"> </span>c0000005</div> <div>&nbsp;&nbsp;例外オフセット:<span style="white-space:pre"> </span>0003043e</div> <div>&nbsp;&nbsp;OS バージョン:<span style="white-space:pre"> </span>6.0.6002.2.2.0.256.6</div> <div>&nbsp;&nbsp;ロケール ID:<span style="white-space:pre"> </span>1041</div> <div>&nbsp;&nbsp;追加情報 1:<span style="white-space:pre"> </span>bce9</div> <div>&nbsp;&nbsp;追加情報 2:<span style="white-space:pre"> </span>40602d536c6bc75b690147a18eb7dafd</div> <div>&nbsp;&nbsp;追加情報 3:<span style="white-space:pre"> </span>6bc4</div> <div>&nbsp;&nbsp;追加情報 4:<span style="white-space:pre"> </span>d0a3d479244e0c8e3487ece411678eda</div> <div><br/></div> <div>SP2をインストール直後に発生したのですが、その後再現性がないため、原因が特定できません。MFCの何が原因となっているのか調べたいのですが、どなたかご教授いただけますでしょうか。よろしくお願いします。</div> <div><br/></div>Thu, 04 Feb 2010 02:49:13 Z2010-02-09T01:42:05Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/033033b5-fbdc-46c5-8594-6abb34de845bhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/033033b5-fbdc-46c5-8594-6abb34de845bK.Okumurahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=K.OkumuraMedia foundation developement on MFCI am trying to make MFC application using Media Foundation.<br/>I could compile and run the SimpleCapture application in Microsoft SDKs.&nbsp; But it is Win32 application.<br/><br/>The 1st MFC application is Web CAM capture and rendering.<br/>When I compile source code in MFC application with following header file including , following compile errors are generated.<br/>How can I resolve this problem and proceed to next step ?<br/>I am using Microsoft Visual Studio 2005 SP1 Japanese.<br/><br/>include file<br/>#include &quot;stdafx.h&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;-- This is the include file for MFC.<br/>#include &lt;windows.h&gt;<br/>#include &lt;windowsx.h&gt;<br/>#include &lt;mfapi.h&gt;<br/>#include &lt;mfplay.h&gt;<br/>#include &lt;strsafe.h&gt;<br/>#include &lt;Dbt.h&gt;<br/>#include &lt;ks.h&gt;<br/>#include &lt;ksmedia.h&gt;<br/><br/>error<br/>(Some error messages are translated from Japanese to English.)<br/>c:\program files\microsoft sdks\windows\v7.0\include\structuredquerycondition.h(204) : error C2065: '__RPC__in' : undefined identifier<br/>c:\program files\microsoft sdks\windows\v7.0\include\structuredquerycondition.h(204) : error C2146: syntax error : ')' is required before&nbsp;identifier 'IRichChunk'<br/>c:\program files\microsoft sdks\windows\v7.0\include\structuredquerycondition.h(204) : warning C4229:Old format type is used. Attribute of data is ignored.<br/>and many errors.<br/><br/>Wed, 03 Feb 2010 07:53:19 Z2010-02-08T11:51:28Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/2b8368d1-5a3b-446a-a279-23040f0915dbhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/2b8368d1-5a3b-446a-a279-23040f0915dbhiro-tahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=hiro-taActiveXからDragDropイベントでクライアント側にBSTRの配列を渡したいいつもお世話になっております。 <div><br/></div> <div>今MFC ActiveX ControlWizardでActiveXコントロールを作っています。</div> <div>標準ではDrag&amp;Dropイベントが用意されていないようなので、自分でDragDropというイベントをつくり、ファイルがドロップされたタイミングで発行しようとしています。</div> <div>それでドロップされたファイルが複数の可能性があるため、文字列の配列をクライアント側に渡したく重い、SafeArrayを作ってVARIANT型として渡そうとしているのですが、SafeArrayもVARIANTも初めて使うので勝手がよく分からず、うまくいかず悩んでいます。</div> <div><br/></div> <div>次のようにコーディングしました。</div> <div>[xxxx.odl]</div> <div> <div><span style="white-space:pre"> </span>[id(4)] void DragDropEx(VARIANT Files);</div> <div><br/></div> <div>[xxxxCtrl.cpp]</div> <div>xxxxCtrl::OnDropFiles(HDROP hDropInfo)&nbsp;</div> <div>{</div> <div> <div><span style="white-space:pre"> </span>UINT fileCount = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);  // ドロップされたファイル数を取得</div> <div><span style="white-space:pre"> </span>if (fileCount &lt; 1)</div> <div><span style="white-space:pre"> </span>return;</div> <div><br/></div> <div><span style="white-space:pre"> </span>SAFEARRAY<span style="white-space:pre"> </span>*psa;</div> <div><span style="white-space:pre"> </span>SAFEARRAYBOUND<span style="white-space:pre"> </span>rgb[1];</div> <div><br/></div> <div><span style="white-space:pre"> </span>rgb[0].cElements = fileCount;<span style="white-space:pre"> </span>// 作成するSAFEARRAYの要素数 = 32</div> <div><span style="white-space:pre"> </span>rgb[0].lLbound = 0;<span style="white-space:pre"> </span>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span style="white-space:pre"> </span>// 作成するSAFEARRAYの添字の下限値 = 0</div> <div><span style="white-space:pre"> </span>psa = ::SafeArrayCreate(VT_BSTR, 1, rgb);<span style="white-space:pre"> </span>// SAFEARRAY作成</div> <div><span style="white-space:pre"> </span>if(psa == NULL)</div> <div><span style="white-space:pre"> </span>return;</div> <div><span style="white-space:pre"> </span>BSTR* data;</div> <div>&nbsp;&nbsp; &nbsp;::SafeArrayAccessData(psa, (void**)&amp;data);</div> <div><span style="white-space:pre"> </span></div> <div><span style="white-space:pre"> </span>TCHAR szFileName[_MAX_PATH];</div> <div><span style="white-space:pre"> </span>for (UINT i = 0; i &lt; fileCount; i++)</div> <div><span style="white-space:pre"> </span>{</div> <div><span style="white-space:pre"> </span>::DragQueryFile(hDropInfo, i, szFileName, _MAX_PATH);</div> <div><span style="white-space:pre"> </span> data[i] = szFileName;</div> <div><span style="white-space:pre"> </span>}</div> <div><span style="white-space:pre"> </span>::SafeArrayUnaccessData(psa);<span style="white-space:pre"> </span>// SAFEARRAYアンロック</div> <div><br/></div> <div><span style="white-space:pre"> </span>VARIANT filesData;</div> <div><span style="white-space:pre"> </span>filesData.vt = VT_BYREF;</div> <div><span style="white-space:pre"> </span>filesData.pparray = &amp;psa;</div> <div><span style="white-space:pre"> </span>FireDragDropEx(filesData);</div> <div>}</div> </div> <div><br/></div> <div>SafeArrayをVARIANTにするところが特にこれで良いのか不安です。</div> </div> <div>ビルドしてActiveX Test ContainerでテストするとD&amp;Dしたとき次のようなメッセージが出ます。</div> <div>XXXXl Control: DragDropEx {Files=}</div> <div><br/></div> <div>次にC#のフォームで作ったテストクライアントアプリで試すとD&amp;Dしたとき、Main()のApplication.Run(new Form1())で止まり、</div> <div>「マネージデバッグアシスタント 'Invalid Variant'では・・・・.exeに問題を検出しました。 追加情報:アンマネージVARIANTからマネージオブジェクトへの変換中に、無効なVARIANTが検出されました。」</div> <div>というエラーダイアログが表示されます。</div> <div><br/></div> <div>どうも無効なVARIANTと認識されてしまっているようです。</div> <div>どなたか、どこがおかしいかご指摘いただけないでしょうか?</div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div>Fri, 29 Jan 2010 06:27:46 Z2010-02-08T01:25:44Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/238e288b-95bb-4328-804b-e238d1aef085http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/238e288b-95bb-4328-804b-e238d1aef085KentaKentaKentahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=KentaKentaKentaboost で リンクエラーVisual Studio 2008 で 作成中のプロジェクトで、shared_ptr を使用すると、 <div>error LNK2019: unresolved external symbol &quot;void __cdecl boost::throw_exception(class std::exception const &amp;)&quot; (?throw_exception@boost@@YAXABVexception@std@@@Z) referenced in function ~</div> <div>とリンクエラーになります。</div> <div>#define BOOST_NO_EXCEPTIONS</div> <div>を試して見ましたが、解決出来ておりません。</div> <div>解決方法は御座いますでしょうか?</div> <div><br/></div> <div>以上宜しくお願いします。</div> <div><br/></div> <div><br/></div>Sat, 06 Feb 2010 08:32:17 Z2010-02-07T00:38:05Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ba7d25ac-0a03-44b2-a6b7-d2ac3467c7fdhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ba7d25ac-0a03-44b2-a6b7-d2ac3467c7fdsunafukinhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=sunafukinVisual Studio 2008 でオプション、/INCREMENTAL を使用せず、プロジェクトをビルドすると、エラー メッセージ:LNK1000が発生するこんにちは。<br/>Visual Studio 2008 SP1にて、プロジェクトをリビルドすると以下現象が発生して困っています。<br/><br/>【現象】<br/>1.&nbsp; リビルドのリンク時、 fatal error LNK1000: Internal error during&nbsp; IMAGE::Pass1 が発生する。<br/>2. 上記エラーは、まったくランダムに発生し、確実に再現できない<br/>3. 同プロジェクトを同じ環境の別PCでリビルドすると、このエラーは発生しない(Visual StuidoとWindowsは同一Version)<br/>4. 、/INCREMENTAL オプションはNO設定<br/><br/>環境: Visual Studio 2008 SP1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows XP SP3<br/><br/><br/><br/>自身で、上記現象を調べてみると、、 <strong>【/INCREMENTAL を使用した】</strong>場合、lnk1000が発生する不具合が、既に報告されていて、パッチも公開されていました。<br/><a href="http://support.microsoft.com/kb/948127">http://support.microsoft.com/kb/948127</a><br/><br/><br/>しかし、今回は、現象4のとおり、<strong>/INCREMENTAL を使用せず(:NO) 同じ現象が起こっています。<br/>上記パッチを当てましたが、lnk1000は発生します。<br/><br/></strong>現象3に書きましたが、別PCだと起こりません。<br/>再現性もないため、解決の糸口が見えず、対処に困っております。<br/>どなたか似たようなご経験をお持ちの方はいらっしゃらないでしょうか。<br/>よろしくお願いいたします。Sat, 06 Feb 2010 02:03:08 Z2010-02-07T00:39:43Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/1fdf2b2d-0868-4776-891c-074dc220e659http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/1fdf2b2d-0868-4776-891c-074dc220e659急急急http://social.msdn.microsoft.com/Profile/ja-JP/?user=%u6025%u6025%u6025「バージョン エディタ」、何で使ったら、バージョンは反映されないの?<p>C++で生成される「DLL」ファイルに、ファイル バージョンを変えたいのですが、以下の方法:<br/>Visual Studio 開発環境でこのリンカ オプションを設定するには<br/>プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。</p> <p>[リンカ] フォルダをクリックします。</p> <p>[全般] プロパティ ページをクリックします。</p> <p>[バージョン] プロパティを変更します。&rarr;「2.1.05」に編集する<br/><br/>以上の設定が終わったら、コンパイルするが、でも、生成されたDLLファイルのプロパティに<br/>「バージョン情報」<br/>ファイルバージョン:1.0.03<br/>ですが、<br/>なんで、僕は設定された「2.1.05]は反映されていないの?<br/><br/>(ちなみに、環境はXP、EXPRESS2008)<br/><br/>どうぞ教授いただきたいのです、<br/>よろしくお願いいたします。<br/></p>Fri, 05 Feb 2010 06:44:11 Z2010-02-05T16:59:09Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/08272197-202d-4302-acc2-397be061864ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/08272197-202d-4302-acc2-397be061864ahiro-tahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=hiro-taActiveXコントロールへの新しいメンバの追加についていつもお世話になっています。 <div>MFC ActiveX Control WizardでActiveXコントロールを作っています。</div> <div><br/></div> <div>コントロールに新しいメンバを追加するとき、XXXX.odlに手で記述を追加しているのですが、メンバのDISPIDを必ず順番に書かないと動いてくれません。</div> <div>例えばAAA、BBBという2つのプロパティとmmm、nnnという2つのメソッドがあった場合、odlに</div> <div> <div>properties:</div> <div>//{{AFX_ODL_PROP(XXXXCtrl)</div> <div>[id(1)] long AAA;</div> <div> <div>[id(2)] long BBB;</div> <div> <div>//}}AFX_ODL_PROP</div> <div><br/></div> <div>methods:</div> <div> <div>//{{AFX_ODL_METHOD(XXXXCtrl)</div> <div> <div>[id(3)] long mmm();</div> </div> </div> </div> </div> <div> <div> <div> <div> <div> <div>[id(4)] long nnn();</div> </div> </div> </div> </div> </div> <div> <div>//}}AFX_ODL_METHOD</div> <div><br/></div> </div> <div><br/></div> </div> <div>という風にプロパティ&rarr;メソッドの順に続き数字で書かないと動いてくれません。</div> <div>これだと後からプロパティを増やしたいとき、メソッドのIDをすべてずらす必要があり、かなり不便です。</div> <div>またIDを変更すると以前のものと互換性が無くなるように思います。</div> <div><br/></div> <div>こういうものなのでしょうか? それともなにか私のやり方がまずいのでしょうか?</div> <div>どなたかご存じのかたいらっしゃいましたら教えて下さい。</div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div> <div><br/></div>Wed, 27 Jan 2010 07:15:13 Z2010-02-05T11:56:55Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/0f094f69-8c1b-4d0a-a4fa-2dd8eedd084bhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/0f094f69-8c1b-4d0a-a4fa-2dd8eedd084bOne_Stonehttp://social.msdn.microsoft.com/Profile/ja-JP/?user=One_StoneVisual C++ からExcel2003のグラフの目盛線を表示させるVisual C++ からExcel2003のグラフの目盛線を表示させようとしています。<br/>グラフの軸は、<br/>pChartObject-&gt;GetChart()-&gt;PutHasAxis(xlValue,xlPrimary,true);<br/>で表示できるのですが、目盛線が表示できません。<br/>PutHasMajorGridlines(true);<br/>を使えばいいと思うのですが、使い方が分かりません。<br/>設定方法を教えて下さい。宜しくお願い致します。Thu, 04 Feb 2010 02:33:55 Z2010-02-05T05:18:47Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3d2f7eb9-70ef-464a-a6e9-ac3c11c829cehttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3d2f7eb9-70ef-464a-a6e9-ac3c11c829cekozzhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=kozzDirect2DとAnimation ManagerのIDDirect2DとAnimation ManagerのInterface ID及びCoClass IDについて質問があります。<br/><br/>以下Headerに宣言されている各IDは、どのLibで実装されていますでしょうか。<br/><br/>#include &lt;UIAnimation.h&gt;<br/>#include &lt;d2d1.h&gt;<br/><br/>例えば、<br/>d2d.hに宣言されている「EXTERN_C CONST IID IID_ID2D1Factory;」を、<br/>Source Codeで利用すると、未解決のシンボルとしてLinker Errorになります。<br/><br/> <pre>#include &lt;d2d1.h&gt; #pragma comment(lib, &quot;d2d1.lib&quot;) void Test() { IID iid = IID_ID2D1Factory; //error LNK2001 }</pre> d2d1.hは「Microsoft DirectX SDK (August 2009)」のHeaderを利用しています。<br/>UIAnimation.hは「Windows 7 SDK」のHeaderを利用しています。<br/><br/>[質問]<br/>&nbsp; 1.Direct2Dを利用する際に、どのLibとLinkすれば良いでしょうか<br/>&nbsp; 2.Animation Managerを利用する際に、どのLibとLinkすれば良いでしょうか<br/><br/>---<br/>回避策としては、以下のように自分で実装する手段がありますが、<br/>適切なLibのLinkによる解決を模索しています。<br/><br/> <pre>CONST IID IID_ID2D1Factory = __uuidof(ID2D1Factory);<br/>... </pre>Wed, 03 Feb 2010 14:25:15 Z2010-02-04T21:17:59Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/50dacd05-0658-4928-b2bd-c04ab9a83a6bhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/50dacd05-0658-4928-b2bd-c04ab9a83a6bAFTERNOON TEAhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=AFTERNOON%20TEAカメラ画像のファイル保存に関してUSBカメラからのデータを撮りながらそのデータを保存するプログラムを考えています。<br/>今考えているのは、カメラからデータを受けとったら、CFile等でファイル保存するのを<br/>ワーカースレッドの中で繰り返そうと思います。(毎秒60枚ほど)<br/><br/>環境はWinXP、VC++2005、SDI、MFCです。DirectXは使っていません。<br/><br/>もっと、効率がよく、早い方法等ございましたら、ご教授お願いいたします。Sun, 24 Jan 2010 08:56:16 Z2010-02-04T16:23:31Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f8da5281-eb12-47ff-a854-e98c487e9747http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f8da5281-eb12-47ff-a854-e98c487e9747yneedshelphttp://social.msdn.microsoft.com/Profile/ja-JP/?user=yneedshelp最下段に表示される実行中アプリケーションアイコンの数をカウントしたいこんにちは。(度々編集かけて申し訳ありません。私の記述が分かりにくいと思われますので。)<br/>現在走っている「最下段に表示される実行中アプリケーションアイコンの数」をカウントしたいのです。<br/><br/>すみません、基本的なことだと思うのですが、多分正確な単語が分からなくて検索にひっかからないのです。。<br/><br/>私の言う、「最下段に表示される実行中アプリケーションアイコンの数」とはすなわち、<br/>通常のWINDOWSで一番下の段のツールバーに現れる、アプリケーションの数です。<br/>例えば、メモ帳を開いたら、「無題 - メモ帳」というアイコンが1つ出てきますよね。<br/>同じようにエクセルを開いたら、「Microsoft Excel - Book1」というアイコンがもう一つ出てきますよね。<br/>もう一度同じようにエクセルを開いたら、「Microsoft Excel - Book2」というアイコンがもう一つ出てきますよね。<br/>元々何も走っていなければ、これで「最下段に表示される実行中アプリケーションアイコンの数」は「3つ」です。<br/>その***アイコンの数***を数えたいのです。<br/><br/>このリンクのようにカウントしては見たのですが、<br/><a href="http://blog.goo.ne.jp/masaki_goo_2006/e/3b6b8d24674f84115b3b7e0b7847bd1f">http://blog.goo.ne.jp/masaki_goo_2006/e/3b6b8d24674f84115b3b7e0b7847bd1f</a><br/>モジュール数、スレッド数、プロセス数、共にその数に該当していないと思います。。<br/><br/>ご教授の方、よろしくお願いします。ありがとうございます。<br/><br/>Sun, 31 Jan 2010 02:59:41 Z2010-02-03T01:32:52Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f04b4e11-91ef-453a-8ac3-07cf813dd39fhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f04b4e11-91ef-453a-8ac3-07cf813dd39fAFTERNOON TEAhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=AFTERNOON%20TEA動的に確保可能なメモリの領域WindowsXP Pro VC++2005 MFCでプログラム開発を行っています。<br/>アプリケーションの起動時に動的に確保可能なメモリの領域(最大値)を知るにはどうすればいいのでしょうか?<br/>メモリの確保はnewを使用しています。<br/><br/>また、タスクマネージャで観る限りでは、利用可能な物理メモリがあるにもかかわらず、その半分もメモリの確保ができない場合、<br/>どのような原因がありますでしょうか?<br/><br/>以上、よろしくお願いいたします。Tue, 19 Jan 2010 14:19:25 Z2010-02-01T15:43:19Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/0e4d0cc4-b1c2-424d-8718-7084f46df456http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/0e4d0cc4-b1c2-424d-8718-7084f46df456yneedshelphttp://social.msdn.microsoft.com/Profile/ja-JP/?user=yneedshelpタスクバーで実行中のアプリケーションの数を数えたい。<p><a href="http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f8da5281-eb12-47ff-a854-e98c487e9747">http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f8da5281-eb12-47ff-a854-e98c487e9747</a><br/>すみません、ここでつい「解決済み」をクリックしてしまいましたので、再掲載します。。<br/><br/>~~~~~~~~~<br/><br/>こんにちは。<br/>現在走っている「タスクバーに表示される実行中アプリケーションアイコンの数」をカウントしたいのです。</p> <p>すみません、基本的なことだと思うのですが、多分正確な単語が分からなくて検索にひっかからないのです。。</p> <p>私の言う、「タスクバーに表示される実行中アプリケーションアイコンの数」とはすなわち、<br/>通常のWINDOWSで一番下の段のツールバーに現れる、アプリケーションの数です。<br/>例えば、メモ帳を開いたら、「無題 - メモ帳」というアイコンが1つ出てきますよね。<br/>同じようにエクセルを開いたら、「Microsoft Excel - Book1」というアイコンがもう一つ出てきますよね。<br/>もう一度同じようにエクセルを開いたら、「Microsoft Excel - Book2」というアイコンがもう一つ出てきますよね。<br/>元々何も走っていなければ、これで「タスクバーに表示される実行中アプリケーションアイコンの数」は「3つ」です。<br/>その***アイコンの数***を数えたいのです。</p> <p>当方、(開発、使用共に)環境はWINDOWS VISTA SP2です。<br/><br/>このリンクのようにカウントしては見たのですが、<br/><a href="http://blog.goo.ne.jp/masaki_goo_2006/e/3b6b8d24674f84115b3b7e0b7847bd1f">http://blog.goo.ne.jp/masaki_goo_2006/e/3b6b8d24674f84115b3b7e0b7847bd1f</a><br/>モジュール数、スレッド数、プロセス数、共にその数に該当していないと思います。。</p> <p>ご教授の方、よろしくお願いします。ありがとうございます。</p>Sun, 31 Jan 2010 04:06:39 Z2010-01-31T04:15:00Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/aec0a9dd-5f34-42c6-a62c-9c1dee7393fahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/aec0a9dd-5f34-42c6-a62c-9c1dee7393fayneedshelphttp://social.msdn.microsoft.com/Profile/ja-JP/?user=yneedshelpスクロールバーが2重に作成されてしまう?こんにちは。<br/>PgDn(ページダウン)のキーを押した効果を<br/>現在作動中なアプリケーション(ワードやPDFやウェブブラウザ)で出そうと思っています。<br/><br/>以下のようなプログラムを走らせると、<br/>右端にある一般的のスクロールバーの外側(?)に<br/>新しいスクロールバーが2重に作成されてそこで動きが発生してしまい、<br/>画面内のコンテンツ(PDFとかの文書)自体はスクロールしません。<br/><br/>私がWin32APIを理解しきれていない所に問題があるのだと思いますが、<br/>どなたかご助力を頂ければ幸いです。<br/><br/>また、関連する別件ですが、同様に<br/>Webサイトでタブのスクロールが出来るようにするにはどうすればよいのでしょうか?<br/>HWNDは同じなわけなので、もう少し詳細な選択が必要なのかとは思いますが。<br/>(現在のところ、上と同じく、外側にタブが2重に作成されてしまいます。)<br/><br/>当方、開発環境はVC++2008、バックグラウンドで走らせたいのでWin32コンソールアプリケーションです。<br/><br/>~~~~~~~~~~~~~~~~~<br/><br/>以下、挙動がおかしいサンプルコードです:<br/><br/>HWND wnd_curr;//keeps process id of the window<br/>&nbsp;&nbsp;<br/>wnd_curr = GetForegroundWindow();//get active id, GetActiveWindow(); didnt work<br/>&nbsp;&nbsp;if(wnd_curr){<br/>&nbsp;&nbsp;&nbsp; SCROLLINFO scrlinfo;<br/>&nbsp;&nbsp;&nbsp;scrlinfo.cbSize = sizeof(SCROLLINFO);<br/>&nbsp;&nbsp;&nbsp;scrlinfo.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;<br/>&nbsp;&nbsp;&nbsp;GetScrollInfo(wnd_curr,SB_VERT,&amp;scrlinfo);<br/>&nbsp;&nbsp;&nbsp;int goal = scrlinfo.nPos += scrlinfo.nPage;<br/>&nbsp;&nbsp;&nbsp;if(goal &lt;= scrlinfo.nMax)<br/>&nbsp;&nbsp;&nbsp;&nbsp;scrlinfo.nPos = goal;<br/>&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;scrlinfo.nPos = scrlinfo.nMax;<br/>&nbsp;&nbsp;&nbsp;SetScrollInfo(wnd_curr,SB_VERT,&amp;scrlinfo,TRUE);<br/>}<br/><br/>Sun, 24 Jan 2010 04:52:12 Z2010-01-31T03:17:41Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/9b7dbcaf-e04b-4f14-b6fb-78231cbc31a5http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/9b7dbcaf-e04b-4f14-b6fb-78231cbc31a5さんどhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u3055%u3093%u3069コモンコントロールのツリービューにおいて、子ノード無し状態で展開ボタンを有効にする方法タイトルのとおりの質問なんですが、このようなことは可能でしょうか。 <div><br/></div> <div>実現したいことは、特定のノード配下の子ノードたちを親ノードがはじめて展開されたタイミングでロードすることです。</div> <div>(ツリービューのスタイルにはTVIS_HAS_BUTTONS付きを前提としています。)</div> <div><br/></div> <div>---------------------------------------------- イメージ</div> <div>・展開前</div> <div>● PARENT</div> <div><br/></div> <div>・展開後 (PARENTノードを開いたタイミングで、子ノードをロードして表示)</div> <div>●&nbsp;PARENT</div> <div>|</div> <div>+ CHILD1</div> <div>+ CHILD2</div> <div> <div>----------------------------------------------</div> <div><br/></div> </div> <div>要するに、展開ボタンの押下を検知するために、子ノードが1件もない状態で展開ボタンを有効にできないかと考えました。</div> <div>「ノードのステータスをいじることで、コントロールを騙し、展開ボタンを有効にすることが可能」といったテクニックは無いものでしょうか?</div> <div><br/></div> <div>その他、「未ロードの親ノードにダミーノードを1件だけ追加して展開ボタンを有効にする」といった案を考えてはいますが</div> <div>もし、前述したようなテクニックがあるのならば、直感的ではありますが前者の方が簡単そうに思えたので、今回質問させて頂いた次第です。</div> <div><br/></div> <div>以上、ご回答よろしくお願いいたします。</div>Wed, 27 Jan 2010 12:36:02 Z2010-01-30T00:30:00Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/bc3adeb7-5afa-44a4-abfa-76c15b5b82d0http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/bc3adeb7-5afa-44a4-abfa-76c15b5b82d0あかhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u3042%u304bWDDM のバージョンVC++ 2008 で開発をしております。 WDDM のバージョンを調べたいのですが、 <br/> DxDiag_DisplayDevices の szDriverModelLocalized を見る以外に方法はないでしょうか? <br/> レジストリや WMI で探してみたのですが見つからなくて&hellip;。Wed, 27 Jan 2010 06:29:52 Z2010-01-29T09:25:09Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/29f2f030-23f5-4ded-ab56-ab82fbdb0878http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/29f2f030-23f5-4ded-ab56-ab82fbdb0878takuya.khttp://social.msdn.microsoft.com/Profile/ja-JP/?user=takuya.kWindows Firewall およびウイルス対策ソフトの情報取得について<p>いつもお世話になっております。<br/>ただいま、Windows 7 でセキュリティ対策ソフトに関する情報取得について調べております。</p> <p>その中で次の2点でつまずいています。ご助力をお願いできないでしょうか。</p> <p>1.Window Firewall の有効状態を取得<br/> INetFwProfile::get_FirewallEnabled() や INetFwPolicy2::get_FirewallEnabled()<br/> を試してみましたが、サードパーティ製のファイアウォール製品がインストールされ<br/> ていると、Windows Firewall の設定とは関係なく常に有効として評価されてしまいます。</p> <p> 単純に Windows Firewall の有効状態のみを取得する方法をご存じではないでしょうか?</p> <p>2.インストールされているセキュリティ対策ソフトの情報取得<br/> 製品名やスイート名、およびそのバージョンを取得しようと WMI での情報取得を<br/> 試みました。製品名については SecurityCenter2 名前空間のプロパティを取得することで<br/> おおむね取得できていますが、バージョン情報の取得がどうしても取れずに困っています。</p> <p> ウイルス対策ソフトのバージョン情報を取得する方法をご存じないでしょうか?</p> <p>なお、開発で使用している環境は VS2008 C/C++ で MFC 使用となっています。</p>Wed, 09 Dec 2009 05:10:42 Z2010-01-26T09:17:43Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7d559175-e20e-467c-b6bc-1c62d177a944http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7d559175-e20e-467c-b6bc-1c62d177a944TAKAKUNhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=TAKAKUNDrag&Dropについて<p>お世話になります。<br/><br/>C#で、アプリケーションを作成しDrag&amp;Drop機能を実装し、WEBDAVフォルダのファイルをアプリケーションDROPした時の<br/>データの解析を行っています。<br/><br/>C#だけでやれないこともないが、C++での経験があるなら、C++/CLIを使用したほうが、比較的に簡単(?)に実装ができるとC#フォーラムでいただき、<br/>実装を試みています。<br/><br/>プログラムの内容は、C#側の&nbsp;&nbsp;private void OnDragDrop(object sender, DragEventArgs e)メソッドの、DragEventArgs eを、<br/>C++/CLI側のクラス・メソッドの引数して解析するプログラムを作成しています。<br/><br/>質問1.<br/>     Object^マネージ参照型からネイティブFILEGROUPDESCRIPTOR構造体へ変換をmarshal_asを拡張して実装したが<br/>     こんなやり方で問題がないのかを、見てほしいです。 一応、動作検証は問題はありませんでした。<br/><br/>     なにを不安視しているかというと、もうひとつメモリのイメージがわかないのです。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++では、ハンドルから固定メモリにしてアドレスを取得していました。<br/>     &rarr;FILEGROUPDESCRIPTOR *&nbsp;&nbsp;file_group_descriptor = (FILEGROUPDESCRIPTOR *) GlobalLock(storage.hGlobal);<br/>     C++/CLI<br/>     &rarr;MemoryStream^ mems = (MemoryStream^)from;<br/><br/>     としていますが、同じ意味をもつのでしょうか。<br/><br/>質問2.配列のコピー<br/><br/>     マネージ型の配列から、アンマネージ型の配列にコピーしていますが、こんなやり方でいいのか。<br/>     もっとスマートな方法がないのか、です。<br/>     <br/><br/>質問3.FileContentsの取得方法<br/><br/>    Forms.IDataObject.GetData()ではなく、ComTypes.IDataObject.GetData()を直接呼ぶ方法がないのかです。    <br/>     <br/><br/><br/><br/>質問1、2.FILEGROUPDESCRIPTOR取得ソース<br/><br/>// 解析メソッド<br/>&nbsp;&nbsp;void ShowFileGroupDescriptorW(DragEventArgs^ e)<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;Object^ from = e-&gt;Data-&gt;GetData(CFSTR_FILEDESCRIPTOR);<br/>&nbsp;&nbsp;&nbsp;marshal_context context;<br/>&nbsp;&nbsp;&nbsp;FILEGROUPDESCRIPTOR* filegr = context.marshal_as&lt;FILEGROUPDESCRIPTOR*&gt;(from);<br/><br/><br/><br/>// marshal_asの拡張Object^&rarr;FILEGROUPDESCRIPTOR*へマーシャリング<br/>namespace msclr<br/>{<br/>&nbsp;namespace interop<br/>&nbsp;{<br/>&nbsp;&nbsp;// FILEGROUPDESCRIPTORマーシャリング<br/>&nbsp;&nbsp;template&lt;&gt;<br/>&nbsp;&nbsp;ref class context_node&lt;FILEGROUPDESCRIPTOR*, System::Object^&gt; : public context_node_base<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp; private:<br/>&nbsp;&nbsp;&nbsp;marshal_context^ _context;<br/>&nbsp;&nbsp;&nbsp;byte* _ptr;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp; public:&nbsp;<br/>&nbsp;&nbsp;&nbsp;context_node(FILEGROUPDESCRIPTOR*&amp; to, System::Object^ from)<br/>&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;MemoryStream^ mems = (MemoryStream^)from;<br/>&nbsp;&nbsp;&nbsp;&nbsp;array&lt;byte&gt;^ buff =gcnew array&lt;byte&gt;((int)mems-&gt;Length);<br/>&nbsp;&nbsp;&nbsp;&nbsp;mems-&gt;Read(buff,0,(int)mems-&gt;Length);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;pin_ptr&lt;byte&gt; p = &amp;buff[0];</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;_ptr = new byte[(int)mems-&gt;Length];<br/>&nbsp;&nbsp;&nbsp;&nbsp;memcpy(_ptr,p,(int)mems-&gt;Length);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;p = nullptr;</p> <p><br/>&nbsp;&nbsp;&nbsp;&nbsp;to = (FILEGROUPDESCRIPTOR*)_ptr;<br/>&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;~context_node()<br/>&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;!context_node();<br/>&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;protected:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !context_node()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;delete []_ptr;<br/>&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;};<br/>}<br/>}<br/><br/>ご教授ください<br/><br/><br/><br/><br/><br/></p>Wed, 13 Jan 2010 09:27:51 Z2010-01-26T06:09:44Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/aaa7d08b-d139-4093-a19b-256e90cc6930http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/aaa7d08b-d139-4093-a19b-256e90cc6930ごんべいhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u3054%u3093%u3079%u3044VC++でテキストファイルをサーバに送信についていつもお世話になっています。<br/> <br/> windowsフォームアプリケーションでテキストファイルをサーバに送信したいのですが(アップロードという表現??)やはりFTPを<br/> 使うべきでしょうか??<br/> <br/> <br/> 開発環境は Visual Stdio 2008 の Visual C++ です。<br/> OS:xp<br/> プロジェクト:windowsフォームアプリケーション<br/> <br/>Wed, 13 Jan 2010 13:07:20 Z2010-01-26T02:26:52Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/66df0b82-2b7f-4ea9-8e47-50349b59d551http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/66df0b82-2b7f-4ea9-8e47-50349b59d551vmax1700http://social.msdn.microsoft.com/Profile/ja-JP/?user=vmax1700デバッグ実行時の開始エラーVC2008でMFCアプリケーションを作成しています。<br/>ビルド後、デバッグ開始を行うと下記のメッセージが表示され実行できません。<br/><br/>コンピューターにmfc90ud.dllがないため、プログラムを開始できません。<br/>この問題を解決するには、プログラムを再インストールしてみてください。<br/><br/>※上記はWindows 7でのメッセージです<br/><br/>mfc90ud.dllのファイルは下記に存在します。<br/>C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugMFC\mfc90ud.dll<br/><br/>ダイアログベースおよびSDIともに同様の現象が発生します。<br/>但し、何度かビルドすると実行できる場合もあります。<br/>今のところDebug構成のみでRelese構成でデバッグした場合はエラーは発生しないようです。<br/><br/>同じような経験をされた方はお見えにならないでしょうか。<br/><br/>環境<br/>Windows XP Professional SP3 および Windows 7 Enterprise<br/>Visual Studio 2008 SP1<br/>Thu, 21 Jan 2010 00:52:07 Z2010-01-25T10:10:26Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/a59c4e58-5bf8-4e92-9c60-254e2a0fe50chttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/a59c4e58-5bf8-4e92-9c60-254e2a0fe50ckozzhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=kozzテキストファイルの読み書きWCHAR&nbsp;*の文字列データを、<br/>ファイルに保存するデータにEncodeする<br/>APIやInterfaceはありますでしょうか?<br/><br/>また、それとは逆に、<br/>ファイルに保存されている文字列データを、<br/>WCHAR&nbsp;*の文字列にDecodeする<br/>APIやInterfaceはありますでしょうか?<br/><br/>例えば、UTF-16で保存されているテキストを、<br/>ファイル名やMemory Buffer、IStreamで指定して、<br/>WCHAR&nbsp;* Bufferに展開、及びその逆をしてくれるような<br/>APIやInterfaceを探しています。<br/><br/>手数は増えてもかまいません。<br/>ですが、BOMや<span lang=en>Surrogate Pair</span>など、<br/>BinaryレベルのデータをApplicationから意識せずに使えれば非常に理想的です。<br/>(WCHARレベルでの意識は許容)<br/>また、文字コードは様々ですが、文字コードの判定ミスは許容します。<br/><br/>Win32 API Applicationですので、MFC/.NET等は除外します。<br/>Third-partyのModuleも除外です。<br/>まずは、Windows SDKの範疇で探しています。<br/><br/>よろしくお願いします。Sat, 23 Jan 2010 15:47:11 Z2010-01-25T08:37:34Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/908582f2-ff2c-4644-bdcc-43932ac0ebd0http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/908582f2-ff2c-4644-bdcc-43932ac0ebd0ミッヒーhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u30df%u30c3%u30d2%u30fcMFC マウス列挙子の、斜め部分のサイズ取得は出来ますか?たびたびお世話になります。<br/><br/>少し変わったウィンドウを作成しており、ウィンドウスタイルが画面上のものと異なります。<br/><br/>さて、このウィンドウにサイズ変更機能を付けようとしていますが、ウィンドウスタイルに WS_THICKFRAME を設定していない為、縦横の部分はいいのですが、マウスカーソルがちょうど斜めになる部分のサイズが判らなくて困っています。<br/><br/>システム設定の何処かにあった様な覚えがあったのですが、GetSystemMetrics と SystemParameterInfo にはありませんでした。<br/><br/>他の関数で取得できるのか、レジストリの何処かにあるのか、そもそも、そんな設定はないのでしょうか?Fri, 22 Jan 2010 08:10:53 Z2010-01-23T17:06:18Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/d288aeeb-9372-45c3-bd98-091e9b53f2e5http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/d288aeeb-9372-45c3-bd98-091e9b53f2e5死者の軍団http://social.msdn.microsoft.com/Profile/ja-JP/?user=%u6b7b%u8005%u306e%u8ecd%u56e3F1キー押下げ時の検索条件<p>F1キー押下げ時の検索条件</p> <p>エディタでソースコードを書きまして、任意の用語の前で、F1キーを押下げますと<br/>Microsoft Document Explorerが起動し、その用語の解説が表示されます。<br/>例えば、CStatic と書いて、C の前にカーソルを持っていき、F1キーを押すのです。</p> <p>するとそこに表示されるのは、Visual Studio .NET 上の CStatic に関する話題です。</p> <p>Document Explorer の画面の左上の方に「F1オプション」があり、そこを適当にクリックすると、<br/>Visual Studio 2005 に関する話題も表示されたりします。</p> <p>私が使っているのは Visual Studio 2008 なので、これに関する話題を表示させたいのですが、<br/>「F1オプション」を使っても Visual Studio 2008 に関する話題をヒットさせることはできません。</p> <p>F1キーを押し下げた場合、どのようにすれば Visual Studio 2008 の話題だけをヒットさせることができるのでしょうか。<br/>CStaticの場合、<br/><a href="http://msdn.microsoft.com/ja-jp/library/t98kd6f7.aspx">http://msdn.microsoft.com/ja-jp/library/t98kd6f7.aspx</a><br/>が表示されるようにしたいです。</p> <p>【開発環境】<br/>OS:Windows Vista<br/>Visual Studio 2008 Standard Edition<br/>言語:Visual C++<br/>Microsoft Visual C++ 2008 SP1 :導入済み<br/>Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86):導入済み</p>Thu, 21 Jan 2010 12:47:05 Z2010-01-23T17:12:20Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/99431bf5-c54f-49f0-9357-7d6282f1199ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/99431bf5-c54f-49f0-9357-7d6282f1199aミッヒーhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u30df%u30c3%u30d2%u30fcコンストラクタ内で this ポインタを使って、他クラスを初期化する別の方法はありますか?お世話になります。<br/><br/>Visual&nbsp;C++ 2008、ネイティブ / MFC プログラミングにおける warning C4355 に関する質問です。<br/><br/>あるクラス A を作成する際、そのクラスを参照するクラス B を作成するとします。<br/>クラス B はクラス A のメンバ変数であり、クラス A への参照を持たせたいのです。<br/><br/>コーディングが簡単だと言う理由でクラス A のコンストラクタ内で、メンバイニシャライザを使って<br/><br/>A::A() : m_b(this)<br/>{<br/>}<br/><br/>B::B(A* a)<br/>{<br/>}<br/><br/>とすると、<br/><br/>warning C4355: 'this' : ベース メンバ初期化子リストで使用されました。<br/><br/>という警告が出ます。ドキュメントを見る限り、コンストラクタが終了するまで、this ポインタは未定、となっていますが、エラー扱いにはされません。<br/><br/>クラス A の this ポインタを設定する方法として、コンストラクタの後、A::OnCreate 等でクラス B に this ポインタを渡す方法が考えられますが、関数が一つ増える事になります。単純に A への参照を B に持たせるには何かいい方法がないものでしょうか?<br/><br/>また、warning を無視してプログラムを動かしても、問題が発生することはありませんでした。<br/><br/>クラス A とクラス B は同じソースコード内にあり、DLL 等は一切関係しないのですが、警告が出る以上、この方法には問題があるのでしょうか?<br/><br/>単に参照であれば大丈夫なのか、たまたま動いているだけなのか、また、別の楽な解決方法をご存知の方、よろしくお願いします。Thu, 21 Jan 2010 06:47:44 Z2010-01-21T15:31:13Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3e864137-2df5-411e-93f2-2abd887c98aahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3e864137-2df5-411e-93f2-2abd887c98aaOTAKAhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=OTAKADLLのエクスポート関数が修飾(?)されてしまう<p>お世話になります。<br/><br/>VS2008のWIN32プロジェクト(C++)でDLLを作成しました。<br/><br/>・実体<br/>extern &quot;C&quot; long WINAPI FuncA( void )<br/>{<br/>&nbsp;return 0;<br/>}<br/>・DEFファイル<br/><br/>LIBRARY&nbsp;&quot;InstHelper&quot;<br/>EXPORTS<br/>&nbsp;&nbsp; FuncA @1<br/><br/><br/>このDLLのメソッドFuncAを、別のプロジェクトからLoadLibrary,GetProcAddressを使用してコールしようとしているのですが、<br/>GetProcAddressで、関数名を渡すと失敗します。<br/>//失敗する<br/>GetProcAddress(hDLL,(LPCSTR)_T(&quot;FuncA&quot;));<br/>//成功する<br/>GetProcAddress(hDLL,(LPCSTR)1);<br/><br/>取得に成功するほうで、変数をウォッチ式でみると <a href="mailto:”_FuncA@0">&rdquo;_FuncA@0</a>&rdquo;となっていました。<br/><br/>dumpbinでは、<br/><br/>&nbsp; ordinal hint RVA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp; 0 00011109 FuncA = @ILT+260(<a href="mailto:_FuncA@0">_FuncA@0</a>)<br/><br/>となっており、修飾されているように思えます。<br/><br/><br/>修飾されないようにするには同氏らよいでしょうか。<br/><br/><br/></p>Wed, 20 Jan 2010 05:32:39 Z2010-01-21T23:59:07Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/8d98de0e-c17f-4608-8d11-6aa3bfafbb7ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/8d98de0e-c17f-4608-8d11-6aa3bfafbb7aこうやhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u3053%u3046%u3084VC++でMACアドレスの取得MACアドレスを取得しようとおもって <div>#include &quot;iphlpapi.h&quot; <div>#pragma comment(lib,&quot;iphlpapi.lib&quot;)</div> <div><br/></div> <div>を記述しましたが、エラーが出てしまいます。</div> <div><br/></div> <div><br/></div> <div>開発環境 Visual Studio 2008 VC++</div> <div>os windows7</div> <div>プロジェクト windowsフォームアプリケーション</div> <div><br/></div> <div>ご回答いただければ幸いです。</div> <div><br/></div> </div>Sat, 09 Jan 2010 05:58:26 Z2010-01-21T09:53:58Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7bc6573c-e127-4b12-aed4-d787c80bb4aahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/7bc6573c-e127-4b12-aed4-d787c80bb4aaにわか.NEThttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u306b%u308f%u304b.NET【WIC】IWICBitmapFrameDecoderからのメモリReadWICで画像をデコードし各ピクセル値を取得する際に、CopyPixels()を使用すると無駄なコピーが<br/>入るのですが、これを回避する方法はありますでしょうか?<br/><br/>IWICBitmapであればLock/Unlockによりポインタアクセスが可能ですが、IWICBitmapFrameDecoder<br/>からCreateBitmapFromSource()すると結局コピーが発生する気がします。<br/><br/>何かご存知の方ご教授ください。<br/>Fri, 15 Jan 2010 15:24:55 Z2010-01-19T14:43:45Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/5ab2a677-9252-4045-9150-8c7cfae2084ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/5ab2a677-9252-4045-9150-8c7cfae2084a急急急http://social.msdn.microsoft.com/Profile/ja-JP/?user=%u6025%u6025%u6025Windows 7 CreateFileで作ったファイルは鍵があるし、権限がないし、ファイルマッピングできないVC++6.0で開発したアプリサービスは、CreateFileでファイル生成し、CreateFileMappingでファイルマッピングなどの機能がある、XP上でうまくなります。けど、Windows 7 で CreateFile作ったファイルは鍵があるし、権限がない、CreateFileMappingもうまくなりませんです、だれか有識者が教えて頂けませんか、お先に有難うございます。Tue, 19 Jan 2010 00:57:28 Z2010-01-19T12:17:23Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/1cf4dd7f-f56a-456f-86aa-a52fc58e418ehttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/1cf4dd7f-f56a-456f-86aa-a52fc58e418emiyuta0105http://social.msdn.microsoft.com/Profile/ja-JP/?user=miyuta0105win32コンソールアプリケーションで作成したプログラムを、Windowsフォームアプリケーションで実行するにはプログラミング初心者です。<br/>初歩的な質問で大変恐縮なのですが、<br/><br/>win32コンソールアプリケーションで作成したプログラムを、Windowsフォームアプリケーションで実行するには<br/>どうすればよいのでしょうか?<br/>具体的にはFormの画面で「OK」ボタンをクリックするとプログラムが実行されるというものです。<br/><br/>自分なりに調べたのですが、<br/><br/>private: System::Void button1_Click(System::Object^&nbsp; sender, System::EventArgs^&nbsp; e) {<br/><br/>}<br/><br/>この中にコードを記入すればいいのはわかるのですが、<br/>そのまま元のソースを張り付けてもクラス(?)の関係で実行できませんよね?<br/>実行ファイル(.exe)を呼び出して実行というようなコードがあるのでしょうか??<br/>調べている中でWindowsフォームアプリケーションはC++/CLI、win32コンソールアプリケーションはC++なので<br/>別の言語だから書き直さないといけないのかな?とも思ったのですが・・・<br/><br/><br/><br/>すみませんがよろしくお願いします。<br/><br/>プログラム環境など<br/>windows7<br/>Visual C++ 2008 ExpressEditionTue, 19 Jan 2010 09:06:49 Z2010-01-19T12:19:19Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f67fc97c-c86d-4afa-8d3f-bc1702c8c161http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/f67fc97c-c86d-4afa-8d3f-bc1702c8c161外字表示についてhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u5916%u5b57%u8868%u793a%u306b%u3064%u3044%u3066自作のプリンタドライバ仮想プリンタドライバを開発していますが、AddPrinter()関数を実行すると「エラーコード6:ハンドルが無効です。」のエラーになり、プリンタドライバが登録できません。<br/>Microsoft Visual C++で開発していますが、何が問題かまったく検討がつきません。<br/>これふだけでは、わからないかと思いますが、もし、考えあられる原因がご存知であれば教えて頂けないでしょうか。Thu, 10 Dec 2009 11:45:56 Z2010-01-19T09:40:09Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ea660164-1e39-4e6d-abc8-b711bc3bbb17http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ea660164-1e39-4e6d-abc8-b711bc3bbb17kozzhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=kozzSTLとMulti ThreadSTLはThread Safeになっているでしょうか?<br/>もしくはThread Safeにする仕組みはありますでしょうか?<br/><br/>STLは付属(2008)のものであり、使用するのはvectorとmapです。<br/>Main ThreadにSTLのInstanceを持たせ、<br/>Sub Threadから同じInstanceに対してAccessします。<br/><br/>STLのSource Codeを確認したところ、Thread Safeにはなっていないようでした。<br/>なので、Accessor Methodを用意して、<br/>Sub Threadからアクセスさせるようにしようかと考えています。<br/><br/>よろしくお願いします。Sun, 17 Jan 2010 05:16:20 Z2010-01-19T05:08:19Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/a499e749-7e15-4d60-8945-69fc927590d7http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/a499e749-7e15-4d60-8945-69fc927590d7にわか.NEThttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u306b%u308f%u304b.NET【Direct2D】ID2D1Bitmapへのメモリ直接Read,WriteDirect2Dに関して質問があります。<br/><br/>ID2D1Bitmapに対して、Lock(),Unlock()的な手法によってメモリ領域を直接Read,Write<br/>するような方法はないのでしょうか?<br/><br/>Writeに関してはID2D1Bitmap::CopyFromMemory()を使用する方法もありますが、必ず<br/>コピーが発生してしまい効率がよくありません。<br/><br/>IWICBitmapにはLock(),Unlock()があるんですが・・・。<br/><br/>DirectDraw時代にはLock,UnlockによりSurfaceのメモリに対する自由なRead,Writeが<br/>できたんですが、これと同様の事をDirect2Dでも実現したいと考えております。<br/><br/>ID2D1RenderTargetに対してもメモリRead,Writeできても良いと思うのですが、こちらも<br/>ご存知の方が居られればご教授いただけたらと思います。<br/>Fri, 15 Jan 2010 15:17:57 Z2010-01-17T02:50:47Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/dfc97962-3227-412c-af96-39aa28d3cffehttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/dfc97962-3227-412c-af96-39aa28d3cffeマンモスhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=%u30de%u30f3%u30e2%u30b9ビデオの「画像の調整」プロパティページでキャンセルボタンを押しても、設定が反映されてしまう(XPでの動作)<p>DirectShow の OleCreatePropertyFrame関数でプロパティページを表示し、ビデオ画像の「明るさ」「コントラスト」を調整後、キャンセルボタンを押しても XP では設定が反映されてしまいます。</p> <p>・[OK]ボタンで設定変更<br/>・[キャンセル]ボタンでは変更なし</p> <p>というのが本来の動きになるのですが、Vista では問題ないものの、XPでは [OK]と[キャンセル]が同じ動きになってしまいます。</p> <p>どのような対策があるのか調べてみましたがわかりませんでした。</p> <p>お手数をお掛けしますが、アドバイスよろしくお願いします。</p><hr class="sig">マンモスFri, 15 Jan 2010 05:29:43 Z2010-01-16T05:27:47Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/c3a8545b-a603-42ee-b56e-563fc5699b6ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/c3a8545b-a603-42ee-b56e-563fc5699b6akirapahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=kirapaDirect2D の CreateHwndRenderTarget のデバッグ時の実行時間について<div>タイトルの通りなのですが、CreateHwndRenderTarget をデバッグ開始(F5)で実行すると</div> <div>約18秒くらい必ずかかります。デバッグなしで開始(Ctrl+F5)の場合は、計測していませんが</div> <div>1秒もかかっていません。</div> <div>Direct2D を使おうとしたときにデバッグ毎にこれだけ時間がかかるとなると困ってしまいます。</div> <div>この現象は、Direct2D のどのサンプルをビルド&デバッグしても再現します。</div> <div><br/></div> <div> <div>同じことを経験した方、対処法など知りませんか?</div> <div>よろしくお願いします。</div> </div> <div><br/></div> <div>環境</div> <div>Windows 7 Home Premiun 64bit</div> <div>Microsoft Visual C++ 2008 Express Edition</div> <div>Visual Studio 2008&nbsp;</div>Wed, 23 Dec 2009 14:06:11 Z2010-01-16T00:07:48Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3ec48a75-61e0-4632-a52b-7492e8f18d7bhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/3ec48a75-61e0-4632-a52b-7492e8f18d7bhiro-tahttp://social.msdn.microsoft.com/Profile/ja-JP/?user=hiro-taSetActiveViewとSetFocusについていつもお世話になっております。 <div><span style="font-family:Arial;font-size:13px;white-space:pre">VC++ MFCのSDIでプログラムを作っています。</span></div> <div>今の所とくに困ったことがあるわけではないのですが、<span style="font-family:Arial;font-size:13px;white-space:pre">SetActiveViewとSetFocusについてどう使い分ければいいのか分かりません。</span></div> <div><span style="font-family:Arial;font-size:small"><span style="font-size:13px;white-space:pre">アクティブウィンドウとフォーカスがあるウィンドウと何が違うのでしょうか?</span></span></div> <div><span style="font-family:Arial;font-size:small"><span style="font-size:13px;white-space:pre"><br/></span></span></div>Fri, 18 Dec 2009 05:29:15 Z2010-01-15T09:49:43Zhttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ef36989f-5b7e-4b73-b812-fde2902e161ahttp://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/ef36989f-5b7e-4b73-b812-fde2902e161aAFTERNOON TEAhttp://social.msdn.microsoft.com/Profile/ja-JP/?user=AFTERNOON%20TEAサポートされるプラットフォームに関してVC++6.0、VC++.NETでサポートされるプラットフォームは何ですか?Wed, 13 Jan 2010 14:45:08 Z2010-01-19T14:29:31Z