トップページ⇒tech
1001コメント309KB

VisualC++相談室 6

■ このスレッドは過去ログ倉庫に格納されています
0001いさましいチビNGNG
VisualC++関連の話題を扱うスレッドです。

旧スレッド
http://pc.2ch.net/test/read.cgi/tech/1006834463/l50
0232デフォルトの名無しさんNGNG
>>231
誤爆?
0233デフォルトの名無しさんNGNG
VC++ で使えるフリーの ActiveX コントロールを探しています。
具体的には「Microsoft Forms ...」コントロールのような
標準コントロールライクなものやグリッドコントロールを探して
います。Vector とかで探したら何個かはありましたが、試して
みると VC++ で使えませんでした。
ご存知でしたらそのサイトを教えて頂けないでしょうか?
どんな些細な情報でも構いませんのでよろしくお願いします。
0234217NGNG
何故かこのスレをチェックした後、229さんの方法を試す前にテストしてみようと思ったら治ってやがりました。
昨日寝る前に224、277さんの助言通りTClockで時計合わせてみたのですがその直後は全然駄目だったんですけど・・・。
まぁ治ってよかったです。ありがとうございました。
0235201NGNG
>>202
>>204
遅くなりましたが・・・
最小化する方法にしました。
でも、最小化するとWin98SEの時だけ別ウィンドウが一番下に
表示されてしまうんですが・・・。
そういうものなんでしょうか??
もしかしたら、他のOSでは偶然ならなかっただけかもしれませんね。
あまり気にしないことにします。
0236デフォルトの名無しさんNGNG
>>235
最小化しなくても画面外に出しちゃえば?
0237201NGNG
>>236
なるほど・・・そういう方法もありますね。
試してみますね。
0238海太郎NGNG
VC初心者です。ちょっとわからないことが出来たので書き込みさせて
いただきます。

ダイアログ上のスタティックテキストの色の変更をしたいのですが、
方法がわかりません。
InitInstanceでSetDialogBkColorを使えばすべてのダイアログの
表示を変えることが出来るのですが、ひとつだけダイアログの文字色
を変えたいのです。

すみませんが、よろしくお願いします。
レスポンス、お待ちしています。
0239デフォルトの名無しさんNGNG
>>238
http://www.expertmg.co.jp/html/cti/vctips/control.htm
0240230NGNG
もう一度。
インストールしていないフォントファイルからフォント名を取得するには
どうすればよいのでしょうか?
0241デフォルトの名無しさんNGNG
>240
LoadLibrary して EnumResourceNames→FindResource→LoadResource のコンボ
後はゴリゴリ解析するんだと思う。
0242女性社員NGNG
あのーVCでDAOとか使ってデータベース操作などをしている人って
いますでしょうか。
VBでは参考資料が豊富にあったのですが、VCだと全然ありません
参考にあるような本やサイトがあったら教えてください。
0243 NGNG
http://www.microsoft.com/japan/developer/library/vccore/_core_dao_and_mfc.htm
0244デフォルトの名無しさんNGNG
>>241
フォントファイル(.ttfなど)をLoadLibraryするんですか??
0245デフォルトの名無しさんNGNG
APIオンリーで組んでます。
初心者な質問ですが許してください(;´∀`)

VC++はNNなど、メニューバーから各項目にフォーカスを当てたとき
ステータスバーにその項目の機能について簡単な説明が出ますよね?
この機能をつけたいのですが、フォーカスが当たったときにどういったメッセージが
送られてくるのかが分かりません。
どなたか教えていただけないでしょうか?
0246デフォルトの名無しさんNGNG
ネット越しに相手のPCのネスケを起動するのはどうすればいいでしょうか?
APIみたいのを探してみたんだけど、分かりませんでした。
よろしくお願いします…。
0247デフォルトの名無しさんNGNG
>>246
ネタは sage でな。
0248デフォルトの名無しさんNGNG
>>246
Windowsのセキュリティーホールを探して下さい。
0249デフォルトの名無しさんNGNG
246の者です。
ネタではありません。Cは初めてなのでよく分かりません…。
やはりAPIは無理なのでしょうか?
0250デフォルトの名無しさんNGNG
「トロイ バックドア バックオリフィス」でゴグルすれ
0251デフォルトの名無しさんNGNG
ShellExecuteプログラムを相手のPCで起こせばいい事は分かってるんですが…。
どうしてこんなに難しいんだー!!!
0252デフォルトの名無しさんNGNG
>>245
ペイン
ストリングテーブル
0253デフォルトの名無しさんNGNG
>>249
もしそれが可能だったら、ちょっと手を加えるだけで、

 俺が 246 のメールソフトをリモートから立ち上げて、ウィルスメールをばら撒く

とかできると思わんか?
0254デフォルトの名無しさんNGNG
>250
ゴグれ
0255デフォルトの名無しさんNGNG
>250
コクれ
0256デフォルトの名無しさんNGNG
>246
こっちが何かコマンドを相手に向かって撃ったらその内容に応じてExcuteだっけ?で相手側でたちあげりゃいいんでねーの?
0257デフォルトの名無しさんNGNG
みなさん、すいません。先ほどやっとPCに詳しい人と連絡が取れたのですが、
無理だということが分かりました。
(相手のPCに特別なアプリを立ち上げておけばいいらしいですが、
今回の案件ではそれは無理なので…)
253さん、256さん、せっかくレスを頂いたのに申し訳ありません。
0258デフォルトの名無しさんNGNG
>>245
フォーカスとかいうからWM_SETFOCUSって答えそうになったぞ。
WM_MENUSELECTな。MenuHelp 関数とかも見ておくと小吉。
0259デフォルトの名無しさんNGNG
>257
お前・・・いや、やっぱやめとこう・・・
0260245NGNG
>>258
ありがとうございます。
どう表現したらいいか分からなかったので(;´∀`)
一番フォーカスがしっくりくるような気がしたものですから・・・
とにかくありがとうございました。
早速やってみます〜
0261デフォルトの名無しさんNGNG
>>244
Yes。だまされたと思ってやってみてくれ。
うまくできたら漏れも使わせてもらうから(w
0262デフォルトの名無しさんNGNG
WinXP上でメモリリークが無いかタスクマネージャ睨んでたら
禿しくりリークしてる様で、newで確保した領域を解放しても
使用メモリが減らず、再確保すると更に増加します。

いくら見直しても穴が見つからず、なんとなく同じプログラムを
そのままWin98で実行してみた所、確保−解放できっちり元に
戻りました。  この様な症状はNTの仕様なのでしょうか?
0263デフォルトの名無しさんNGNG
自分でallocatorを定義しなさい。
いちいち空きメモリをOSに返すやつを。
0264262NGNG
ではNTの仕様と言う事なんですね…
0265デフォルトの名無しさんNGNG
NTじゃない。
VCの標準のallocatorの仕様だ。
0266262NGNG
あら…しかしWin98上では即解放されてる様なのですが。
0267デフォルトの名無しさんNGNG
>262 パフォーマンスモニタとはお友達?
0268262NGNG
いや…エクスプローラ拡張メニューのメモリ情報ですw

Win98上では解放すると、きっちり元のサイズに戻るんですが、
XPでは何故か、逆に増えたりする事もあります(;´Д`)
0269デフォルトの名無しさんNGNG
そりゃ、お前がデブだからだ。
0270デフォルトの名無しさんNGNG
じゃ、262はデブってことでこの話は
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /'   つ 糸冬 了 │
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
               ゛゛'゛'゛
0271262NGNG
すまん、正直ガリぎみ。
0272デフォルトの名無しさんNGNG
アカデミックバジョンってなんですか
異常に安いんですけど・・・・
中身はやっぱり違うんですか?通常版と
0273デフォルトの名無しさんNGNG
アカデミックいいよねぇ。
びんぼ学生でもエンタープライズ買えるし。
0274デフォルトの名無しさんNGNG
>272
たまーにポインタの指す位置がかわることがある。
0275デフォルトの名無しさんNGNG
>274
ヲイ
0276272NGNG
アカデミックバジョンってなんですか
異常に安いんですけど・・・・
中身はやっぱり違うんですか?通常版と
だれか、マジでおしえてください
0277デフォルトの名無しさんNGNG
ちがわねえよ
学生ならそっち買え
0278デフォルトの名無しさんNGNG
>>272
アカデミックでない用途に使うと警告ダイアログが出る。
0279デフォルトの名無しさんNGNG
VC++特有ってわけじゃない(と思う)けど、
DOSプログラムよりWinプログラムのほうが実行速度が速いのはなぜ?
単純な計算のループなんだけどさ。
0280デフォルトの名無しさんNGNG
先生!どうやって判定するんですか?
0281デフォルトの名無しさんNGNG
>279
OSのパフォーマンスが違うから
0282デフォルトの名無しさんNGNG
>>281
スマソ。
Win上のコンソールプログラムとそうでないプログラム
0283デフォルトの名無しさんNGNG
VC++.NETもやっぱりProfessionalとstandardに別れるのかな?
0284デフォルトの名無しさんNGNG
>>283
.net スレで、商品構成と値段が出てたような気がする。
0285デフォルトの名無しさんNGNG
ところでVC6.0のsetup.exeが起動しないのはどうして?
0286デフォルトの名無しさんNGNG
>285
割れだから
0287デフォルトの名無しさんNGNG
>>285
詳細に関してはマイクロソフト社技術情報
「J053653 [NT]J052309 の修正適用後 Office2000
のセットアップができない」をご参照ください。
0288デフォルトの名無しさんNGNG
とあるツールをSPY++で解析しているのですが,
右クリックのポップアップメニューで,
メニューを選択してもWM_COMMANDとかが飛んでいません。
そもそも,trackpopupmenu()を使っていなさそうなのですが。
WM_COMMANDを送信しないようなメニューの作り方,
またはその場合どうやって項目を選択した事を
ウィンドウプロシージャに伝えるのか,知っている人はいますか?
0289デフォルトの名無しさんNGNG
>288
フックしてメッセージを削除
0290デフォルトの名無しさんNGNG
ちょっくら気になったのですが、
GDIでパレットアニメーションはどうすればできるのでしょうか?
またwindowsの画面モードが256色以外でもできるのでしょうか。
0291デフォルトの名無しさんNGNG
AnimatePalette()
できません。
0292デフォルトの名無しさんNGNG
>>289
フックしてメッセージを削除する事には,どういった意味があるんでしょう?
それと,試しにそのウィンドウに,
メニューの項目のIDと共にWM_COMMANDを送信してみましたが,
反応はありませんでした。
ぼくは何か考えちがいをしていますか?
0293デフォルトの名無しさんNGNG
>>288
自前でWM_LBUTTONDOWNとか見て処理してるんじゃないのか?
0294290NGNG
> 291
ありがとうございます。
やはり256以外ではできないんですね。
0295login:PenguinNGNG
16の8じょうを Ansi Cを使って計算しようとすると
どうかけばいいですか?
0296デフォルトの名無しさんNGNG
0
0297デフォルトの名無しさんNGNG
>295
16*16*16*16*16*16*16*16
0298デフォルトの名無しさんNGNG
Linux板とのマルチポストなんだな、きっと…
0299デフォルトの名無しさんNGNG
(define (power n x) (if (zero? x) 1 (* n (power n (- x 1)))))
(power 16 8)
4294967296
0300295NGNG
16のn 乗 を計算せさせるには?
0301デフォルトの名無しさんNGNG
>>300
ヘルプでもWebでも検索しろよ。
こうだよ。

pow(16, n);
0302デフォルトの名無しさんNGNG
スレ違いな書き込みに、あまり餌をやるのはどうかと…
0303デフォルトの名無しさんNGNG
(power 16 32)
340282366920938463463374607431768211456
0304デフォルトの名無しさんNGNG
(power 16 128)
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
0305デフォルトの名無しさんNGNG
はやい!
0306デフォルトの名無しさんNGNG
VC6でプロファイルを取るため、
ttp://www.bd.wakwak.com/~opapa/VC/Operation/Profile.htm
を参考にVC6のバグを回避してプロファイルを行う設定にしました。
しかし、「ビルド」メニューの「プロファイル」が灰色になっているので
プロファイルが取れませんでした。
環境はWin2k+VC6 Enterprise SP5です。
原因がわかる方は教えて下さい。お願いします。
0307デフォルトの名無しさんNGNG
ftime.batとかあるからソレ使え。
MSDNにやり方載ってる。
0308デフォルトの名無しさんNGNG
VCで「デバッグの中止」ボタンを押して、プログラム中断すると、動的確保した
メモリやら、開いていたハンドルってどうなるの?
0309デフォルトの名無しさんNGNG
解放されるんちゃうかー
0310デフォルトの名無しさんNGNG
>>308
メモリは開放される。
他のリソースもプロセスが終了するときに自動的に開放されるってのが多い。
でも、全部が開放されるかどうかは分からない。
0311直リン普及委員会NGNG
>>306
今度から直リンでおねがいします。
0312デフォルトの名無しさんNGNG
>>310
少なくともファイルは残るな。ハンドルは開放されるけど、ファイルそのものは
消えない。

共有メモリとか名前つき mutex も残るんじゃない。
0313デフォルトの名無しさんNGNG
>共有メモリとか名前つき mutex も残るんじゃない。
残らないって。
0314デフォルトの名無しさんNGNG
>>313
GlobalAllocしたのも消滅するの?
0315デフォルトの名無しさんNGNG
>312
ファイルハンドル閉じてもファイル自体は残るのが普通だと思いますが。
0316308NGNG
他のプロセスが確保したメモリって開放できるんですか?
特権とかの関係ですかね?

また、newで例えば 10MB確保して、開放せずにプログラムを終了しても
パフォーマンスモニタなんかを見てると、きちんと 10MB増減するんですが、
メモリリークとはどのような場合を指すのですか?
0317デフォルトの名無しさんNGNG
>>314
開放される。
Win32だとGlobalAllocもLocalAllocも同じ。
0318316NGNG
newは、中では HeapAllocですよね?
VirtulaAllocは開放されるみたいです。
0319デフォルトの名無しさんNGNG
>>316
メモリリークはプログラム実行中の話。
終了すれば開放される。
0320316NGNG
>319
はぁ、そういうことですか。
プログラムが終了しても開放されないメモリのことだと思ってた...
0321デフォルトの名無しさんNGNG
>>315
もちろん普通だけど(それがファイルの存在意義だし)、

 正常な手順を踏んで終了した場合には残らないが、強制終了させると残る
 リソース

ということで挙げてみたり。

>>313
Win32 だと共有メモリは残らんのか。昔 UNIX System V で開発してたときに
共有メモリが残ってしまって(正常終了時には、終了処理で消すようにしてた)

 ダサすぎ

と思ったことがあるんで。
0322デフォルトの名無しさんNGNG
>>317
そうなんだ。
ってことはHGLOBALは生成したプロセス終了時に無効になるってことか。
ありがとう、参考になった。
0323デフォルトの名無しさんNGNG
すみませんが、教えて下さい。
CDialogをChangeDisplaySettingsを用いてフルスクリーン表示させるのですが、
このとき、縁(ダイアログ枠?)の部分が残ってしまいます。
スタイルを変更しようと思って以下のような処理をしたところ、
ModifyStyle ( WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX| WS_POPUP |WS_DLGFRAME, 0 , SWP_FRAMECHANGED) ;
ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_FRAMECHANGED);
上記のModifyStyleExで0が返ってきてしまうのですが、
なぜでしょうか?
ModifyStyleではスタイルの除去が出来たのですが・・・。
0324デフォルトの名無しさんNGNG
>>ModifyStyleEx(WS_EX_CLIENTEDGE,0,SWP_FRAMECHANGED);
MSDN見たけどSWP_FRAMECHANGEDのことかかれてないなぁ・・・

俺もフルスクリーンとウィンドウを切り替えるモジュール作ってあるけど
ModifyStyle(Ex)は使ってないな
ウィンドウのスタイル変更は『SetWindowLong』『SetWindowPos』使ってやってるけど
0325デフォルトの名無しさんNGNG
Winsockを使う以外でファイルをネットワークからダウンロードすることは出来ますか?
0326デフォルトの名無しさんNGNG
ワークスペースの中のプロジェクトが多くなってきて管理しづらくなってきたんですが、
プロジェクトをフォルダの階層構造みたいにすることはできますか?
0327デフォルトの名無しさんNGNG
>>325
ネットワークドライブからコピー(w
\\hogehoge\dir\file

一応ネットワークからダウンロードだろ。
0328デフォルトの名無しさんNGNG
>326
プロジェクトの中はフォルダ分けできるけど、プロジェクト自体の階層化は無理っぽい。
EXEとDLLといった関係だったら、「ブロジェクトの依存関係」で少しは見通しがよくなるけどね。
0329326NGNG
>>328
やっぱ無理ですか…。まあ、出来る範囲で見通し良くして頑張ります。
0330デフォルトの名無しさん NGNG
プログラムの生産性を高めようと思い今年の夏くらいからライブラリ化を行うようにしました。
それぞれのプログラムで共通の部分を探してライブラリにまとめたら
ライブラリが5MBくらい(ソースファイルのサイズ)になってしまいました。
ライブラリが巨大過ぎてどこに何があるのか把握し切れません。
プログラムごとにコードを書いて再利用できると思う部分はコピー&ペーストで貼りつけていた頃のほうが生産性が高いくらいでした。
これは慣れてないからでしょうか?
それともライブラリなんて自分で作るもんではないのでしょうか?
ちなみにライブラリ内の各関数は複数のプログラムで使われることは殆どありません。
それどころが無いと思ってライブラリに追加した関数と同じ機能の関数が既に存在していて後でムカついたりと
嫌なことだらけです。
正直辞めたいです。
でも半年かけて作ったものを捨てるのは非常に悲しいです。
どうしましょう?
0331デフォルトの名無しさんNGNG
>>330
人生は出会いと別れの繰り返しさ。
時には悲しい別れと向き合わなければならない。
■ このスレッドは過去ログ倉庫に格納されています